[INFO] cloning repository https://github.com/craton-co/craton-shield
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/craton-co/craton-shield" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcraton-co%2Fcraton-shield", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcraton-co%2Fcraton-shield'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f8175a446db261edc7ad8684589a8ec5e2010eef
[INFO] testing craton-co/craton-shield against try#28f95933dc0727396c07b48d0a8cb5211b7fb472 for pr-154065-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcraton-co%2Fcraton-shield" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-3-tc2/source/.cargo/config.toml
[INFO] removed /workspace/builds/worker-3-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/craton-co/craton-shield
[INFO] finished tweaking git repo https://github.com/craton-co/craton-shield
[INFO] tweaked toml for git repo https://github.com/craton-co/craton-shield written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/craton-co/craton-shield on toolchain 28f95933dc0727396c07b48d0a8cb5211b7fb472
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/craton-co/craton-shield already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b5a73025ba5f5f427dccc77a9508a912e0b39b3c7fb0ade0dddac304925d77c9
[INFO] running `Command { std: "docker" "start" "-a" "b5a73025ba5f5f427dccc77a9508a912e0b39b3c7fb0ade0dddac304925d77c9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b5a73025ba5f5f427dccc77a9508a912e0b39b3c7fb0ade0dddac304925d77c9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b5a73025ba5f5f427dccc77a9508a912e0b39b3c7fb0ade0dddac304925d77c9", kill_on_drop: false }`
[INFO] [stdout] b5a73025ba5f5f427dccc77a9508a912e0b39b3c7fb0ade0dddac304925d77c9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 77bbff67b35a66571097899408ef6d425183d857d209bcdda89247b60458d39d
[INFO] running `Command { std: "docker" "start" "-a" "77bbff67b35a66571097899408ef6d425183d857d209bcdda89247b60458d39d", kill_on_drop: false }`
[INFO] [stderr]    Compiling vs-types v0.7.1 (/opt/rustwide/workdir/core/types)
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling vs-anomaly v0.7.1 (/opt/rustwide/workdir/core/anomaly)
[INFO] [stderr]    Compiling vs-evidence-envelope v0.7.1 (/opt/rustwide/workdir/core/evidence-envelope)
[INFO] [stderr]    Compiling libc v0.2.184
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling inout v0.1.4
[INFO] [stderr]    Compiling dbl v0.3.2
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling vs-crypto v0.7.1 (/opt/rustwide/workdir/core/crypto)
[INFO] [stderr]    Compiling vs-types-ind v0.7.1 (/opt/rustwide/workdir/industrial/types-ind)
[INFO] [stderr]    Compiling vs-hal v0.7.1 (/opt/rustwide/workdir/core/hal)
[INFO] [stderr]    Compiling vs-eth-monitor v0.7.1 (/opt/rustwide/workdir/core/eth-monitor)
[INFO] [stderr]    Compiling vs-can-monitor v0.7.1 (/opt/rustwide/workdir/core/can-monitor)
[INFO] [stderr]    Compiling vs-types-embedded v0.7.1 (/opt/rustwide/workdir/embedded/types-embedded)
[INFO] [stdout] warning: associated function `shannon_entropy` is never used
[INFO] [stdout]     --> core/can-monitor/src/lib.rs:1152:8
[INFO] [stdout]      |
[INFO] [stdout]  751 | impl CanMonitor {
[INFO] [stdout]      | --------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1152 |     fn shannon_entropy(data: &[u8]) -> f32 {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling vs-storage v0.7.1 (/opt/rustwide/workdir/core/storage)
[INFO] [stderr]    Compiling vs-key-manager v0.7.1 (/opt/rustwide/workdir/core/key-manager)
[INFO] [stderr]    Compiling vs-secure-boot v0.7.1 (/opt/rustwide/workdir/core/secure-boot)
[INFO] [stderr]    Compiling vs-integrity v0.7.1 (/opt/rustwide/workdir/core/integrity)
[INFO] [stderr]    Compiling vs-ota-validator v0.7.1 (/opt/rustwide/workdir/core/ota-validator)
[INFO] [stderr]    Compiling vs-ids-engine v0.7.1 (/opt/rustwide/workdir/core/ids-engine)
[INFO] [stderr]    Compiling vs-netfw v0.7.1 (/opt/rustwide/workdir/core/netfw)
[INFO] [stderr]    Compiling vs-event-logger v0.7.1 (/opt/rustwide/workdir/core/event-logger)
[INFO] [stderr]    Compiling vs-policy-engine v0.7.1 (/opt/rustwide/workdir/core/policy-engine)
[INFO] [stderr]    Compiling vs-types-auto v0.7.1 (/opt/rustwide/workdir/auto/types-auto)
[INFO] [stderr]    Compiling aes v0.8.4
[INFO] [stderr]    Compiling cmac v0.7.2
[INFO] [stderr]    Compiling vs-signal-ids v0.7.1 (/opt/rustwide/workdir/auto/signal-ids)
[INFO] [stderr]    Compiling vs-v2x v0.7.1 (/opt/rustwide/workdir/auto/v2x)
[INFO] [stderr]    Compiling vs-diag-gateway v0.7.1 (/opt/rustwide/workdir/auto/diag-gateway)
[INFO] [stderr]    Compiling vs-coap-monitor v0.7.1 (/opt/rustwide/workdir/embedded/coap-monitor)
[INFO] [stderr]    Compiling vs-modbus-monitor-emb v0.7.1 (/opt/rustwide/workdir/embedded/modbus-monitor-emb)
[INFO] [stderr]    Compiling vs-runtime v0.7.1 (/opt/rustwide/workdir/core/runtime)
[INFO] [stderr]    Compiling vs-ble-monitor v0.7.1 (/opt/rustwide/workdir/embedded/ble-monitor)
[INFO] [stderr]    Compiling vs-zigbee-monitor v0.7.1 (/opt/rustwide/workdir/embedded/zigbee-monitor)
[INFO] [stderr]    Compiling vs-mqtt-monitor v0.7.1 (/opt/rustwide/workdir/embedded/mqtt-monitor)
[INFO] [stderr]    Compiling vs-iec61850-monitor v0.7.1 (/opt/rustwide/workdir/industrial/iec61850-monitor)
[INFO] [stderr]    Compiling vs-runtime-auto v0.7.1 (/opt/rustwide/workdir/auto/runtime-auto)
[INFO] [stderr]    Compiling vs-opcua-monitor v0.7.1 (/opt/rustwide/workdir/industrial/opcua-monitor)
[INFO] [stderr]    Compiling vs-s7comm-monitor v0.7.1 (/opt/rustwide/workdir/industrial/s7comm-monitor)
[INFO] [stderr]    Compiling vs-dnp3-monitor v0.7.1 (/opt/rustwide/workdir/industrial/dnp3-monitor)
[INFO] [stderr]    Compiling vs-ethernetip-monitor v0.7.1 (/opt/rustwide/workdir/industrial/ethernetip-monitor)
[INFO] [stderr]    Compiling vs-bacnet-monitor v0.7.1 (/opt/rustwide/workdir/industrial/bacnet-monitor)
[INFO] [stderr]    Compiling vs-iec60870-monitor v0.7.1 (/opt/rustwide/workdir/industrial/iec60870-monitor)
[INFO] [stderr]    Compiling vs-modbus-monitor-ind v0.7.1 (/opt/rustwide/workdir/industrial/modbus-monitor-ind)
[INFO] [stderr]    Compiling vs-profinet-monitor v0.7.1 (/opt/rustwide/workdir/industrial/profinet-monitor)
[INFO] [stderr]    Compiling vs-ffi-auto v0.7.1 (/opt/rustwide/workdir/auto/ffi-auto)
[INFO] [stderr]    Compiling vs-lora-monitor v0.7.1 (/opt/rustwide/workdir/embedded/lora-monitor)
[INFO] [stderr]    Compiling vs-ffi v0.7.1 (/opt/rustwide/workdir/core/ffi)
[INFO] [stderr]    Compiling vs-autosar v0.7.1 (/opt/rustwide/workdir/auto/autosar)
[INFO] [stderr]    Compiling vs-report-iec62443 v0.7.1 (/opt/rustwide/workdir/core/report-iec62443)
[INFO] [stderr]    Compiling vs-runtime-ind v0.7.1 (/opt/rustwide/workdir/industrial/runtime-ind)
[INFO] [stderr]    Compiling vs-hal-linux v0.7.1 (/opt/rustwide/workdir/core/hal-linux)
[INFO] [stderr]    Compiling vs-report-iec62304 v0.7.1 (/opt/rustwide/workdir/core/report-iec62304)
[INFO] [stderr]    Compiling vs-report-iso21434 v0.7.1 (/opt/rustwide/workdir/core/report-iso21434)
[INFO] [stderr]    Compiling vs-health v0.7.1 (/opt/rustwide/workdir/core/health)
[INFO] [stderr]    Compiling vs-runtime-embedded v0.7.1 (/opt/rustwide/workdir/embedded/runtime-embedded)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.85s
[INFO] running `Command { std: "docker" "inspect" "77bbff67b35a66571097899408ef6d425183d857d209bcdda89247b60458d39d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "77bbff67b35a66571097899408ef6d425183d857d209bcdda89247b60458d39d", kill_on_drop: false }`
[INFO] [stdout] 77bbff67b35a66571097899408ef6d425183d857d209bcdda89247b60458d39d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fd253731c9cdd23149af921136157753721748cd295e1c325350f27c2fd789b1
[INFO] running `Command { std: "docker" "start" "-a" "fd253731c9cdd23149af921136157753721748cd295e1c325350f27c2fd789b1", kill_on_drop: false }`
[INFO] [stderr]    Compiling vs-crypto v0.7.1 (/opt/rustwide/workdir/core/crypto)
[INFO] [stderr]    Compiling vs-can-monitor v0.7.1 (/opt/rustwide/workdir/core/can-monitor)
[INFO] [stderr]    Compiling zerocopy-derive v0.8.48
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling vs-ids-engine v0.7.1 (/opt/rustwide/workdir/core/ids-engine)
[INFO] [stderr]    Compiling clap_builder v4.5.20
[INFO] [stderr]    Compiling vs-integrity v0.7.1 (/opt/rustwide/workdir/core/integrity)
[INFO] [stderr]    Compiling vs-key-manager v0.7.1 (/opt/rustwide/workdir/core/key-manager)
[INFO] [stderr]    Compiling vs-event-logger v0.7.1 (/opt/rustwide/workdir/core/event-logger)
[INFO] [stderr]    Compiling vs-secure-boot v0.7.1 (/opt/rustwide/workdir/core/secure-boot)
[INFO] [stderr]    Compiling vs-ota-validator v0.7.1 (/opt/rustwide/workdir/core/ota-validator)
[INFO] [stderr]    Compiling vs-runtime v0.7.1 (/opt/rustwide/workdir/core/runtime)
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling vs-diag-gateway v0.7.1 (/opt/rustwide/workdir/auto/diag-gateway)
[INFO] [stderr]    Compiling vs-v2x v0.7.1 (/opt/rustwide/workdir/auto/v2x)
[INFO] [stderr]    Compiling vs-signal-ids v0.7.1 (/opt/rustwide/workdir/auto/signal-ids)
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling vs-runtime-auto v0.7.1 (/opt/rustwide/workdir/auto/runtime-auto)
[INFO] [stderr]    Compiling vs-ffi v0.7.1 (/opt/rustwide/workdir/core/ffi)
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling vs-hal-linux v0.7.1 (/opt/rustwide/workdir/core/hal-linux)
[INFO] [stderr]    Compiling vs-runtime-ind v0.7.1 (/opt/rustwide/workdir/industrial/runtime-ind)
[INFO] [stderr]    Compiling vs-ffi-auto v0.7.1 (/opt/rustwide/workdir/auto/ffi-auto)
[INFO] [stderr]    Compiling vs-runtime-embedded v0.7.1 (/opt/rustwide/workdir/embedded/runtime-embedded)
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling clap v4.5.20
[INFO] [stderr]    Compiling vs-modbus-monitor-emb v0.7.1 (/opt/rustwide/workdir/embedded/modbus-monitor-emb)
[INFO] [stderr]    Compiling vs-mqtt-monitor v0.7.1 (/opt/rustwide/workdir/embedded/mqtt-monitor)
[INFO] [stderr]    Compiling vs-ble-monitor v0.7.1 (/opt/rustwide/workdir/embedded/ble-monitor)
[INFO] [stderr]    Compiling vs-zigbee-monitor v0.7.1 (/opt/rustwide/workdir/embedded/zigbee-monitor)
[INFO] [stderr]    Compiling vs-coap-monitor v0.7.1 (/opt/rustwide/workdir/embedded/coap-monitor)
[INFO] [stderr]    Compiling vs-lora-monitor v0.7.1 (/opt/rustwide/workdir/embedded/lora-monitor)
[INFO] [stderr]    Compiling vs-report-iec62304 v0.7.1 (/opt/rustwide/workdir/core/report-iec62304)
[INFO] [stderr]    Compiling vs-report-iec62443 v0.7.1 (/opt/rustwide/workdir/core/report-iec62443)
[INFO] [stderr]    Compiling vs-report-iso21434 v0.7.1 (/opt/rustwide/workdir/core/report-iso21434)
[INFO] [stderr]    Compiling vs-autosar v0.7.1 (/opt/rustwide/workdir/auto/autosar)
[INFO] [stderr]    Compiling vs-storage v0.7.1 (/opt/rustwide/workdir/core/storage)
[INFO] [stderr]    Compiling vs-ethernetip-monitor v0.7.1 (/opt/rustwide/workdir/industrial/ethernetip-monitor)
[INFO] [stderr]    Compiling vs-modbus-monitor-ind v0.7.1 (/opt/rustwide/workdir/industrial/modbus-monitor-ind)
[INFO] [stderr]    Compiling vs-profinet-monitor v0.7.1 (/opt/rustwide/workdir/industrial/profinet-monitor)
[INFO] [stderr]    Compiling vs-bacnet-monitor v0.7.1 (/opt/rustwide/workdir/industrial/bacnet-monitor)
[INFO] [stderr]    Compiling vs-iec61850-monitor v0.7.1 (/opt/rustwide/workdir/industrial/iec61850-monitor)
[INFO] [stderr]    Compiling vs-opcua-monitor v0.7.1 (/opt/rustwide/workdir/industrial/opcua-monitor)
[INFO] [stderr]    Compiling vs-dnp3-monitor v0.7.1 (/opt/rustwide/workdir/industrial/dnp3-monitor)
[INFO] [stderr]    Compiling vs-s7comm-monitor v0.7.1 (/opt/rustwide/workdir/industrial/s7comm-monitor)
[INFO] [stderr]    Compiling vs-netfw v0.7.1 (/opt/rustwide/workdir/core/netfw)
[INFO] [stderr]    Compiling vs-iec60870-monitor v0.7.1 (/opt/rustwide/workdir/industrial/iec60870-monitor)
[INFO] [stderr]    Compiling vs-health v0.7.1 (/opt/rustwide/workdir/core/health)
[INFO] [stderr]    Compiling vs-types-embedded v0.7.1 (/opt/rustwide/workdir/embedded/types-embedded)
[INFO] [stderr]    Compiling vs-types-auto v0.7.1 (/opt/rustwide/workdir/auto/types-auto)
[INFO] [stderr]    Compiling vs-hal v0.7.1 (/opt/rustwide/workdir/core/hal)
[INFO] [stderr]    Compiling vs-types-ind v0.7.1 (/opt/rustwide/workdir/industrial/types-ind)
[INFO] [stderr]    Compiling vs-policy-engine v0.7.1 (/opt/rustwide/workdir/core/policy-engine)
[INFO] [stderr]    Compiling vs-eth-monitor v0.7.1 (/opt/rustwide/workdir/core/eth-monitor)
[INFO] [stderr]    Compiling vs-types v0.7.1 (/opt/rustwide/workdir/core/types)
[INFO] [stderr]    Compiling vs-evidence-envelope v0.7.1 (/opt/rustwide/workdir/core/evidence-envelope)
[INFO] [stderr]    Compiling vs-anomaly v0.7.1 (/opt/rustwide/workdir/core/anomaly)
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 59.94s
[INFO] running `Command { std: "docker" "inspect" "fd253731c9cdd23149af921136157753721748cd295e1c325350f27c2fd789b1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fd253731c9cdd23149af921136157753721748cd295e1c325350f27c2fd789b1", kill_on_drop: false }`
[INFO] [stdout] fd253731c9cdd23149af921136157753721748cd295e1c325350f27c2fd789b1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] f3c13b4904e9987e401ea17aaeae089a22c235bbec70886655a7719deea7577f
[INFO] running `Command { std: "docker" "start" "-a" "f3c13b4904e9987e401ea17aaeae089a22c235bbec70886655a7719deea7577f", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.23s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vs_anomaly-ee2f2ee1af5c5496)
[INFO] [stdout] 
[INFO] [stdout] running 61 tests
[INFO] [stdout] test tests::ewma_accepts_threshold_zero ... ok
[INFO] [stdout] test tests::ewma_accumulation_drift_bounded ... ok
[INFO] [stdout] test tests::ewma_alpha_very_small_slow_adaptation ... ok
[INFO] [stdout] test tests::ewma_detects_outlier ... ok
[INFO] [stdout] test tests::ewma_first_sample_returns_none ... ok
[INFO] [stdout] test tests::ewma_freeze_prevents_baseline_drift ... ok
[INFO] [stdout] test tests::ewma_accepts_alpha_one ... ok
[INFO] [stdout] test tests::ewma_alpha_one_instant_tracking ... ok
[INFO] [stdout] test tests::ewma_known_sequence_accuracy ... ok
[INFO] [stdout] test tests::ewma_nan_input_rejected ... ok
[INFO] [stdout] test tests::ewma_converges_stationary ... ok
[INFO] [stdout] test tests::ewma_negative_values_handled ... ok
[INFO] [stdout] test tests::ewma_recalibrate_rejects_nan ... ok
[INFO] [stdout] test tests::ewma_large_values_no_panic ... ok
[INFO] [stdout] test tests::ewma_recalibrate_resets_baseline ... ok
[INFO] [stdout] test tests::ewma_inf_input_rejected ... ok
[INFO] [stdout] test tests::ewma_recalibrate_unfreezes ... ok
[INFO] [stdout] test tests::ewma_recalibrate_rejects_inf ... ok
[INFO] [stdout] test tests::ewma_mean_converges_to_constant_input ... ok
[INFO] [stdout] test tests::ewma_rejects_inf_threshold ... ok
[INFO] [stdout] test tests::ewma_rejects_nan_alpha ... ok
[INFO] [stdout] test tests::ewma_rejects_negative_alpha ... ok
[INFO] [stdout] test tests::ewma_rejects_negative_threshold ... ok
[INFO] [stdout] test tests::ewma_rejects_alpha_above_one ... ok
[INFO] [stdout] test tests::ewma_recalibrate_preserves_count ... ok
[INFO] [stdout] test tests::ewma_rejects_zero_alpha ... ok
[INFO] [stdout] test tests::ewma_second_sample_during_warmup_not_anomalous ... ok
[INFO] [stdout] test tests::ewma_set_freeze_duration_accepts_positive ... ok
[INFO] [stdout] test tests::ewma_variance_accessor ... ok
[INFO] [stdout] test tests::ewma_warmup_anomalous_sample_not_folded ... ok
[INFO] [stdout] test tests::ewma_with_custom_warmup_and_freeze ... ok
[INFO] [stdout] test tests::ewma_z_threshold_zero_flags_everything ... ok
[INFO] [stdout] test tests::ewma_variance_approaches_zero_for_constant_input ... ok
[INFO] [stdout] test tests::histogram_16_bin_collision ... ok
[INFO] [stdout] test tests::ewma_set_freeze_duration_rejects_zero ... ok
[INFO] [stdout] test tests::histogram_empty_input ... ok
[INFO] [stdout] test tests::histogram_empty_probability_zero ... ok
[INFO] [stdout] test tests::histogram_known_value_not_anomalous ... ok
[INFO] [stdout] test tests::histogram_new_value_is_anomalous ... ok
[INFO] [stdout] test tests::histogram_new_instance_clears_state ... ok
[INFO] [stdout] test tests::histogram_one_bin ... ok
[INFO] [stdout] test tests::histogram_probabilities_sum_to_one ... ok
[INFO] [stdout] test tests::histogram_256_bins ... ok
[INFO] [stdout] test tests::histogram_reset_zeroes_state ... ok
[INFO] [stdout] test tests::histogram_same_value_many_times_high_probability ... ok
[INFO] [stdout] test tests::histogram_saturated_returns_false_anomalous ... ok
[INFO] [stdout] test tests::histogram_single_byte ... ok
[INFO] [stdout] test tests::histogram_total_count_increments ... ok
[INFO] [stdout] test tests::markov_all_transitions_to_same_state ... ok
[INFO] [stdout] test tests::markov_learns_transitions ... ok
[INFO] [stdout] test tests::markov_row_sums_to_one ... ok
[INFO] [stdout] test tests::markov_reset_zeroes_state ... ok
[INFO] [stdout] test tests::histogram_total_u64_no_silent_saturation_in_5_days ... ok
[INFO] [stdout] test tests::markov_score_for_trained_transition_is_high ... ok
[INFO] [stdout] test tests::markov_transition_a_to_b_and_back ... ok
[INFO] [stdout] test tests::sqrt_approx_accuracy ... ok
[INFO] [stdout] test tests::sqrt_approx_accuracy_bounds ... ok
[INFO] [stdout] test tests::sqrt_approx_of_one_returns_one ... ok
[INFO] [stdout] test tests::markov_score_untrained_is_zero ... ok
[INFO] [stdout] test tests::sqrt_approx_large_number_no_panic ... ok
[INFO] [stdout] test tests::sqrt_approx_of_zero_returns_zero ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 61 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vs_autosar-406d3080f56177e0)
[INFO] [stdout] 
[INFO] [stdout] running 119 tests
[INFO] [stdout] test tests::bswm_default_impl ... ok
[INFO] [stdout] test tests::bswm_invalid_transition_rejected ... ok
[INFO] [stdout] test tests::bswm_rule_capacity_exhaustion ... ok
[INFO] [stdout] test tests::bswm_rule_condition_gating ... ok
[INFO] [stdout] test tests::bswm_multi_step_transition ... ok
[INFO] [stdout] test tests::bswm_same_mode_noop ... ok
[INFO] [stdout] test tests::bswm_skip_transition_blocked ... ok
[INFO] [stdout] test tests::bswm_set_rule_condition_gates_transition ... ok
[INFO] [stdout] test tests::bswm_starts_in_startup ... ok
[INFO] [stdout] test tests::bswm_set_rule_condition_invalid_slot ... ok
[INFO] [stdout] test tests::bswm_transition_action_called ... ok
[INFO] [stdout] test tests::bswm_transition_action_cleared ... ok
[INFO] [stdout] test tests::bswm_transition_action_not_called_on_noop ... ok
[INFO] [stdout] test tests::comm_default_impl ... ok
[INFO] [stdout] test tests::comm_duplicate_channel_rejected ... ok
[INFO] [stdout] test tests::bsw_mode_id_repr_c_size ... ok
[INFO] [stdout] test tests::comm_inhibit_can_be_cleared ... ok
[INFO] [stdout] test tests::bswm_valid_transition ... ok
[INFO] [stdout] test tests::bswm_reverse_transition_needs_rule ... ok
[INFO] [stdout] test tests::comm_capacity_exhaustion ... ok
[INFO] [stdout] test tests::comm_inhibit_blocks_mode_change ... ok
[INFO] [stdout] test tests::comm_is_communication_allowed_full_com ... ok
[INFO] [stdout] test tests::comm_is_communication_allowed_inhibited ... ok
[INFO] [stdout] test tests::comm_is_communication_allowed_no_com ... ok
[INFO] [stdout] test tests::comm_is_communication_allowed_unknown_channel ... ok
[INFO] [stdout] test tests::comm_mode_repr_c_size ... ok
[INFO] [stdout] test tests::comm_multiple_channels_active ... ok
[INFO] [stdout] test tests::comm_register_channel ... ok
[INFO] [stdout] test tests::comm_request_full_com ... ok
[INFO] [stdout] test tests::comm_request_no_com ... ok
[INFO] [stdout] test tests::comm_unknown_channel_request_fails ... ok
[INFO] [stdout] test tests::comm_unknown_channel_returns_none ... ok
[INFO] [stdout] test tests::dem_capacity_exhaustion ... ok
[INFO] [stdout] test tests::dem_clear_all ... ok
[INFO] [stdout] test tests::dem_clear_event ... ok
[INFO] [stdout] test tests::dem_debounce_confirms_after_threshold ... ok
[INFO] [stdout] test tests::dem_clear_unknown_event_fails ... ok
[INFO] [stdout] test tests::dem_event_status_repr_c_size ... ok
[INFO] [stdout] test tests::dem_freeze_frame_captured_on_confirmed ... ok
[INFO] [stdout] test tests::dem_freeze_frame_cleared_on_clear_all ... ok
[INFO] [stdout] test tests::dem_duplicate_event_id_rejected ... ok
[INFO] [stdout] test tests::dem_freeze_frame_cleared_with_event ... ok
[INFO] [stdout] test tests::dem_freeze_frame_invalid_index ... ok
[INFO] [stdout] test tests::dem_iter_confirmed ... ok
[INFO] [stdout] test tests::dem_pass_resets_fail_counter ... ok
[INFO] [stdout] test tests::dem_freeze_frame_not_captured_before_confirmed ... ok
[INFO] [stdout] test tests::dem_healing_clears_confirmed ... ok
[INFO] [stdout] test tests::find_pdu_linear_scan_fallback_for_high_can_id ... ok
[INFO] [stdout] test tests::idsm_bus_type_mapping ... ok
[INFO] [stdout] test tests::dem_invalid_config_rejected ... ok
[INFO] [stdout] test tests::dem_register_event ... ok
[INFO] [stdout] test tests::idsm_dequeue_empty ... ok
[INFO] [stdout] test tests::idsm_event_repr_c_size ... ok
[INFO] [stdout] test tests::idsm_context_contains_payload_hash_prefix ... ok
[INFO] [stdout] test tests::idsm_report_and_dequeue ... ok
[INFO] [stdout] test tests::idsm_overwrite_mode_unit_test ... ok
[INFO] [stdout] test tests::idsm_fifo_ordering ... ok
[INFO] [stdout] test tests::idsm_secoc_failure_report ... ok
[INFO] [stdout] test tests::dem_prefailed_also_debounces ... ok
[INFO] [stdout] test tests::idsm_severity_ordering ... ok
[INFO] [stdout] test tests::idsm_queue_full_drops ... ok
[INFO] [stdout] test tests::idsm_secoc_failure_severity_levels ... ok
[INFO] [stdout] test tests::mcal_can_adapter_ready ... ok
[INFO] [stdout] test tests::mcal_can_adapter_receives_frame ... ok
[INFO] [stdout] test tests::mcal_can_adapter_bus_off_errors ... ok
[INFO] [stdout] test tests::mcal_can_adapter_uninit_errors ... ok
[INFO] [stdout] test tests::idsm_severity_mapping ... ok
[INFO] [stdout] test tests::mcal_can_adapter_error_passive_can_receive ... ok
[INFO] [stdout] test tests::mcal_eth_adapter_basic ... ok
[INFO] [stdout] test tests::mcal_eth_adapter_link_down ... ok
[INFO] [stdout] test tests::secoc_capacity_exhaustion ... ok
[INFO] [stdout] test tests::secoc_data_id_prevents_cross_pdu_replay ... ok
[INFO] [stdout] test tests::secoc_crypto_failure_path ... ok
[INFO] [stdout] test tests::prepare_tx_dlc_overflow_returns_resource_exhausted ... ok
[INFO] [stdout] test tests::secoc_frame_too_short_for_trailer ... ok
[INFO] [stdout] test tests::secoc_freshness_counter_advances ... ok
[INFO] [stdout] test tests::secoc_invalid_mac_len_rejected ... ok
[INFO] [stdout] test tests::secoc_mac_len_4_accepted ... ok
[INFO] [stdout] test tests::secoc_invalid_freshness_len_rejected ... ok
[INFO] [stdout] test tests::secoc_mac_len_8_accepted ... ok
[INFO] [stdout] test tests::secoc_mac_len_below_min_rejected ... ok
[INFO] [stdout] test tests::secoc_pdu_index_cleared_on_unregister ... ok
[INFO] [stdout] test tests::secoc_pdu_index_tx_and_rx_independent ... ok
[INFO] [stdout] test tests::secoc_register_and_count ... ok
[INFO] [stdout] test tests::secoc_prepare_tx_guard_rejects_short_mac ... ok
[INFO] [stdout] test tests::secoc_pdu_index_fast_lookup ... ok
[INFO] [stdout] test tests::secoc_register_rejects_duplicate_key_id_without_distinct_data_id ... ok
[INFO] [stdout] test tests::secoc_reject_duplicate_can_id ... ok
[INFO] [stdout] test tests::secoc_replay_detected ... ok
[INFO] [stdout] test tests::secoc_roundtrip_still_works_with_index ... ok
[INFO] [stdout] test tests::secoc_stats_tracking ... ok
[INFO] [stdout] test tests::secoc_same_id_different_direction_ok ... ok
[INFO] [stdout] test tests::secoc_truncated_fv_exact_replay_is_freshness_expired ... ok
[INFO] [stdout] test tests::secoc_tx_then_rx_roundtrip ... ok
[INFO] [stdout] test tests::secoc_unregister ... ok
[INFO] [stdout] test tests::secoc_tx_unknown_pdu_fails ... ok
[INFO] [stdout] test tests::secoc_unregister_inactive_fails ... ok
[INFO] [stdout] test tests::secoc_verify_time_guard_rejects_short_mac ... ok
[INFO] [stdout] test tests::secoc_verify_unknown_pdu ... ok
[INFO] [stdout] test tests::secoc_verify_result_repr_c_size ... ok
[INFO] [stdout] test tests::service_registry_offer_lifecycle ... ok
[INFO] [stdout] test tests::service_registry_mark_available ... ok
[INFO] [stdout] test tests::service_registry_capacity_exhaustion ... ok
[INFO] [stdout] test tests::service_registry_register_and_find ... ok
[INFO] [stdout] test tests::secoc_tampered_mac_detected ... ok
[INFO] [stdout] test tests::service_registry_duplicate_rejected ... ok
[INFO] [stdout] test tests::service_registry_iter_active ... ok
[INFO] [stdout] test tests::service_registry_same_service_different_instance ... ok
[INFO] [stdout] test tests::service_registry_slot_reuse_after_stop ... ok
[INFO] [stdout] test tests::service_registry_stop_inactive_fails ... ok
[INFO] [stdout] test tests::someip_auth_provider_default_returns_not_initialized ... ok
[INFO] [stdout] test tests::stub_mcal_can_adapter_integration ... ok
[INFO] [stdout] test tests::stub_mcal_eth_adapter_integration ... ok
[INFO] [stdout] test tests::stub_mcal_can_driver_returns_default_frame ... ok
[INFO] [stdout] test tests::stub_mcal_eth_driver_defaults ... ok
[INFO] [stdout] test tests::stub_mcal_can_driver_set_pending ... ok
[INFO] [stdout] test tests::stub_mcal_can_driver_write_succeeds ... ok
[INFO] [stdout] test tests::verify_rx_rejects_dlc_above_64 ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vs_bacnet_monitor-476b4241151782a8)
[INFO] [stdout] test tests::secoc_truncated_freshness_value_roundtrip_with_rollover ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 119 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 48 tests
[INFO] [stdout] test tests::add_list_element_blocked_when_read_only ... ok
[INFO] [stdout] test tests::add_service_rule_at_capacity_returns_resource_exhausted ... ok
[INFO] [stdout] test tests::atomic_write_file_blocked_when_read_only ... ok
[INFO] [stdout] test tests::broadcast_flood_blocks_after_limit_exhausted ... ok
[INFO] [stdout] test tests::broadcast_flood_disabled_when_rate_zero ... ok
[INFO] [stdout] test tests::create_object_blocked_when_read_only ... ok
[INFO] [stdout] test tests::broadcast_flood_per_source_isolation ... ok
[INFO] [stdout] test tests::default_constructor ... ok
[INFO] [stdout] test tests::delete_object_blocked_when_read_only ... ok
[INFO] [stdout] test tests::broadcast_flood_unicast_unaffected ... ok
[INFO] [stdout] test tests::foreign_device_abuse_forwarded_npdu_from_unknown_source_blocked ... ok
[INFO] [stdout] test tests::foreign_device_abuse_register_from_unknown_source_blocked ... ok
[INFO] [stdout] test tests::foreign_device_allowlist_idempotent ... ok
[INFO] [stdout] test tests::foreign_device_abuse_authorized_source_allowed ... ok
[INFO] [stdout] test tests::foreign_device_allowlist_at_capacity ... ok
[INFO] [stdout] test tests::malformed_object_identifier_fails_closed_skips_object_rule ... ok
[INFO] [stdout] test tests::npdu_loop_allowed_when_dnet_is_local ... ok
[INFO] [stdout] test tests::npdu_loop_blocked_when_hops_zero_and_dnet_remote ... ok
[INFO] [stdout] test tests::npdu_loop_allowed_when_hops_nonzero ... ok
[INFO] [stdout] test tests::npdu_loop_disabled_when_local_network_not_configured ... ok
[INFO] [stdout] test tests::foreign_device_permissive_when_not_configured ... ok
[INFO] [stdout] test tests::object_deny_blocks_reads_and_writes ... ok
[INFO] [stdout] test tests::object_rule_blocks_write_to_specific_object ... ok
[INFO] [stdout] test tests::object_rule_storage ... ok
[INFO] [stdout] test tests::object_rule_wildcard_type_blocks_all_writes_to_instance ... ok
[INFO] [stdout] test tests::object_rule_ignored_for_non_property_services ... ok
[INFO] [stdout] test tests::parse_object_identifier_rejects_short_payload ... ok
[INFO] [stdout] test tests::parse_object_identifier_rejects_wrong_tag ... ok
[INFO] [stdout] test tests::parse_object_identifier_valid ... ok
[INFO] [stdout] test tests::payload_overflow_rejected ... ok
[INFO] [stdout] test tests::permissive_allows_all ... ok
[INFO] [stdout] test tests::rate_limiting_blocks_excess ... ok
[INFO] [stdout] test tests::read_allowed_when_write_protected ... ok
[INFO] [stdout] test tests::readme_example_compiles_and_runs ... ok
[INFO] [stdout] test tests::reinitialize_device_blocked_when_read_only ... ok
[INFO] [stdout] test tests::object_rule_capacity ... ok
[INFO] [stdout] test tests::remove_list_element_blocked_when_read_only ... ok
[INFO] [stdout] test tests::strict_allows_configured_service ... ok
[INFO] [stdout] test tests::strict_blocks_unknown ... ok
[INFO] [stdout] test tests::reset_preserves_bvlc_npdu_settings ... ok
[INFO] [stdout] test tests::vuln01_device_communication_control_allowed_if_not_read_only ... ok
[INFO] [stdout] test tests::reset_preserves_mode ... ok
[INFO] [stdout] test tests::vuln01_device_communication_control_blocked_by_read_only ... ok
[INFO] [stdout] test tests::vuln05_different_service_choices_accepted ... ok
[INFO] [stdout] test tests::vuln05_duplicate_service_rule_rejected ... ok
[INFO] [stdout] test tests::wildcard_rule_with_specific_service_choice ... ok
[INFO] [stdout] test tests::write_property_multiple_blocked_when_read_only ... ok
[INFO] [stdout] test tests::write_protection ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 48 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vs_ble_monitor-c61f3869999f94ca)
[INFO] [stdout] 
[INFO] [stdout] running 77 tests
[INFO] [stdout] test tests::adv_flood_window_reset ... ok
[INFO] [stdout] test tests::adv_flood_window_boundary_handled ... ok
[INFO] [stdout] test tests::advertisement_event_passes ... ok
[INFO] [stdout] test tests::alert_ids_are_unique ... ok
[INFO] [stdout] test tests::adv_flood_detected ... ok
[INFO] [stdout] test tests::alert_overflow_capped_at_4 ... ok
[INFO] [stdout] test tests::alert_source_id_constants_are_distinct ... ok
[INFO] [stdout] test tests::alert_source_id_constants_are_nonzero ... ok
[INFO] [stdout] test tests::alerts_dropped_counter_accessible ... ok
[INFO] [stdout] test tests::allowlist_overrides_deny ... ok
[INFO] [stdout] test tests::blocked_mac_uses_correct_source_id ... ok
[INFO] [stdout] test tests::clear_gatt_handle_policies_disables_check ... ok
[INFO] [stdout] test tests::clear_mac_filters_works ... ok
[INFO] [stdout] test tests::conn_storm_detected ... ok
[INFO] [stdout] test tests::blocklist ... ok
[INFO] [stdout] test tests::conn_storm_window_expiry ... ok
[INFO] [stdout] test tests::conn_storm_window_expiry_excludes_stale_entries ... ok
[INFO] [stdout] test tests::conn_storm_window_us_clamped_to_minimum ... ok
[INFO] [stdout] test tests::default_constructor ... ok
[INFO] [stdout] test tests::default_allow ... ok
[INFO] [stdout] test tests::conn_storm_uses_correct_source_id ... ok
[INFO] [stdout] test tests::deny_default ... ok
[INFO] [stdout] test tests::disconnected_event_passes ... ok
[INFO] [stdout] test tests::gatt_abuse_alert_fires_once_per_window ... ok
[INFO] [stdout] test tests::gatt_abuse_detected ... ok
[INFO] [stdout] test tests::gatt_handle_policy_full_returns_error ... ok
[INFO] [stdout] test tests::gatt_handle_policy_update_in_place ... ok
[INFO] [stdout] test tests::gatt_perm_ok_when_authenticated_and_authorized ... ok
[INFO] [stdout] test tests::gatt_perm_unregistered_handle_passes ... ok
[INFO] [stdout] test tests::gatt_perm_violation_detected_when_auth_missing ... ok
[INFO] [stdout] test tests::gatt_perm_violation_detected_when_flags_missing ... ok
[INFO] [stdout] test tests::gatt_window_resets_after_timeout ... ok
[INFO] [stdout] test tests::gatt_write_counted ... ok
[INFO] [stdout] test tests::global_pairing_storm_detected ... ok
[INFO] [stdout] test tests::global_pairing_storm_excludes_stale_entries ... ok
[INFO] [stdout] test tests::global_pairing_storm_window_expires ... ok
[INFO] [stdout] test tests::mac_filter_full_returns_error ... ok
[INFO] [stdout] test tests::mac_to_source_id_uses_full_mac ... ok
[INFO] [stdout] test tests::mtu_below_minimum_ignored ... ok
[INFO] [stdout] test tests::mtu_downgrade_detected_on_connected_event ... ok
[INFO] [stdout] test tests::mtu_downgrade_detected_on_gatt_event ... ok
[INFO] [stdout] test tests::mtu_equal_or_larger_does_not_alert ... ok
[INFO] [stdout] test tests::multiple_peers_tracked_independently ... ok
[INFO] [stdout] test tests::no_rssi_alert_on_first_connect ... ok
[INFO] [stdout] test tests::normal_timestamp_progression_no_alert ... ok
[INFO] [stdout] test tests::normal_rssi_variation_ok ... ok
[INFO] [stdout] test tests::pairing_downgrade_passkey_to_just_works ... ok
[INFO] [stdout] test tests::pairing_first_observation_no_alert ... ok
[INFO] [stdout] test tests::non_monotonic_timestamp_does_not_panic ... ok
[INFO] [stdout] test tests::pairing_method_is_authenticated ... ok
[INFO] [stdout] test tests::pairing_request_passes ... ok
[INFO] [stdout] test tests::pairing_same_method_no_alert ... ok
[INFO] [stdout] test tests::pairing_upgrade_no_alert ... ok
[INFO] [stdout] test tests::peer_lru_eviction_reclaims_stale_slot ... ok
[INFO] [stdout] test tests::pairing_request_counter_resets_on_complete ... ok
[INFO] [stdout] test tests::peer_slot_exhaustion_emits_alert ... ok
[INFO] [stdout] test tests::pairing_success_resets_failures ... ok
[INFO] [stdout] test tests::peer_lru_eviction_with_failures_uses_double_timeout ... ok
[INFO] [stdout] test tests::public_addr_does_not_trigger_random_flood ... ok
[INFO] [stdout] test tests::random_addr_flood_detected ... ok
[INFO] [stdout] test tests::random_addr_window_resets ... ok
[INFO] [stdout] test tests::remove_mac_filter_middle_entry ... ok
[INFO] [stdout] test tests::remove_mac_filter_works ... ok
[INFO] [stdout] test tests::remove_nonexistent_mac_filter_returns_false ... ok
[INFO] [stdout] test tests::reset_clears_runtime_state ... ok
[INFO] [stdout] test tests::reset_preserves_thresholds ... ok
[INFO] [stdout] test tests::rssi_jump_triggers_alert ... ok
[INFO] [stdout] test tests::rssi_out_of_range_triggers_alert ... ok
[INFO] [stdout] test tests::remove_mac_filter_scans_all_entries ... ok
[INFO] [stdout] test tests::rssi_zero_is_valid_baseline ... ok
[INFO] [stdout] test tests::set_adv_flood_params_works ... ok
[INFO] [stdout] test tests::short_connection_detected ... ok
[INFO] [stdout] test tests::stats_tracking ... ok
[INFO] [stdout] test tests::threshold_upper_bounds_clamped ... ok
[INFO] [stdout] test tests::timestamp_anomaly_emits_alert ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vs_can_monitor-1d147459f239d8d6)
[INFO] [stdout] test tests::pairing_downgrade_secure_to_legacy ... ok
[INFO] [stdout] test tests::pairing_failure_lockout ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 77 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 109 tests
[INFO] [stdout] test tests::add_rule_within_capacity ... ok
[INFO] [stdout] test tests::alert_counter_saturates ... ok
[INFO] [stdout] test tests::allowlist_bitset_remove_clears_bit ... ok
[INFO] [stdout] test tests::alert_ids_are_sequential ... ok
[INFO] [stdout] test tests::allowlist_allows_known_id ... ok
[INFO] [stdout] test tests::allowlist_bitset_standard_ids_o1 ... ok
[INFO] [stdout] test tests::allowlist_blocks_unknown_id ... ok
[INFO] [stdout] test tests::add_rule_exceeds_capacity ... ok
[INFO] [stdout] test tests::allowlist_capacity_exhausted ... ok
[INFO] [stdout] test tests::allowlist_duplicate_id_ok ... ok
[INFO] [stdout] test tests::allowlist_disabled_by_default ... ok
[INFO] [stdout] test tests::allowlist_remove ... ok
[INFO] [stdout] test tests::allowlist_remove_last_disables ... ok
[INFO] [stdout] test tests::allowlist_full_capacity ... ok
[INFO] [stdout] test tests::bus_off_alert_has_critical_severity ... ok
[INFO] [stdout] test tests::allowlist_not_enabled_allows_all ... ok
[INFO] [stdout] test tests::allowlist_extended_ids_fall_back_to_ct_scan ... ok
[INFO] [stdout] test tests::allowlist_duplicate_is_idempotent ... ok
[INFO] [stdout] test tests::allowlist_standard_only_uses_fast_path ... ok
[INFO] [stdout] test tests::bus_off_alert_re_fires_after_reset ... ok
[INFO] [stdout] test tests::bus_off_alert_fires_only_once ... ok
[INFO] [stdout] test tests::allowlist_remove_nonexistent ... ok
[INFO] [stdout] test tests::canfd_dlc_clamped_to_64 ... ok
[INFO] [stdout] test tests::bus_off_triggers_critical_alert ... ok
[INFO] [stdout] test tests::canfd_frame_uses_full_64_bytes ... ok
[INFO] [stdout] test tests::classic_can_frame_clamped_to_8 ... ok
[INFO] [stdout] test tests::default_entropy_threshold ... ok
[INFO] [stdout] test tests::dlc_anomaly_triggers ... ok
[INFO] [stdout] test tests::dlc_anomaly_with_dlc_64_can_fd ... ok
[INFO] [stdout] test tests::classic_can_dlc_zero ... ok
[INFO] [stdout] test tests::different_replay_keys_produce_different_hashes ... ok
[INFO] [stdout] test tests::dlc_check_uses_clamped_length ... ok
[INFO] [stdout] test tests::dlc_anomaly_with_dlc_zero ... ok
[INFO] [stdout] test tests::effective_id_masks_extended_frame ... ok
[INFO] [stdout] test tests::dlc_at_max_is_ok ... ok
[INFO] [stdout] test tests::entropy_all_distinct_bytes ... ok
[INFO] [stdout] test tests::entropy_consistent_with_lookup_optimization ... ok
[INFO] [stdout] test tests::entropy_empty_payload_is_zero ... ok
[INFO] [stdout] test tests::entropy_max_64_byte_fd_payload ... ok
[INFO] [stdout] test tests::entropy_of_2_byte_different_payload ... ok
[INFO] [stdout] test tests::entropy_of_2_byte_identical_payload ... ok
[INFO] [stdout] test tests::entropy_of_1_byte_payload ... ok
[INFO] [stdout] test tests::effective_id_masks_standard_frame ... ok
[INFO] [stdout] test tests::entropy_threshold_rejects_above_max ... ok
[INFO] [stdout] test tests::entropy_single_byte_is_zero ... ok
[INFO] [stdout] test tests::entropy_threshold_rejects_infinity ... ok
[INFO] [stdout] test tests::entropy_threshold_rejects_nan ... ok
[INFO] [stdout] test tests::entropy_threshold_accepts_valid_range ... ok
[INFO] [stdout] test tests::entropy_uniform_8_bytes ... ok
[INFO] [stdout] test tests::entropy_uniform_byte_is_zero ... ok
[INFO] [stdout] test tests::entropy_two_equal_halves_is_one ... ok
[INFO] [stdout] test tests::error_count_reset ... ok
[INFO] [stdout] test tests::error_counter_at_exactly_254 ... ok
[INFO] [stdout] test tests::entropy_threshold_rejects_negative ... ok
[INFO] [stdout] test tests::entropy_two_symbols_is_one ... ok
[INFO] [stdout] test tests::error_counter_at_exactly_255 ... ok
[INFO] [stdout] test tests::error_counter_increments_correctly ... ok
[INFO] [stdout] test tests::c_log2_c_table_accuracy ... ok
[INFO] [stdout] test tests::extended_id_frame_processed ... ok
[INFO] [stdout] test tests::eviction_counter_increments ... ok
[INFO] [stdout] test tests::frame_processing_updates_stats_message_count ... ok
[INFO] [stdout] test tests::extended_rule_does_not_match_standard_frame ... ok
[INFO] [stdout] test tests::frame_with_id_zero_processed_correctly ... ok
[INFO] [stdout] test tests::frame_with_max_extended_can_id ... ok
[INFO] [stdout] test tests::high_entropy_triggers_fuzzing_alert ... ok
[INFO] [stdout] test tests::log2_approx_accuracy_range ... ok
[INFO] [stdout] test tests::flood_detection_at_exactly_min_interval_boundary ... ok
[INFO] [stdout] test tests::large_frame_data_64_bytes_all_filled ... ok
[INFO] [stdout] test tests::low_entropy_does_not_trigger ... ok
[INFO] [stdout] test tests::monitor_default_trait ... ok
[INFO] [stdout] test tests::multiple_rules_different_priorities ... ok
[INFO] [stdout] test tests::multiple_rules_first_match_wins ... ok
[INFO] [stdout] test tests::multiple_sequential_alerts_have_incrementing_ids ... ok
[INFO] [stdout] test tests::flood_detection_does_not_trigger_at_boundary ... ok
[INFO] [stdout] test tests::flood_detection_resets_after_long_gap ... ok
[INFO] [stdout] test tests::payload_hash_is_computed ... ok
[INFO] [stdout] test tests::process_frame_no_rules_returns_none ... ok
[INFO] [stdout] test tests::process_frame_runs_all_5_detectors ... ok
[INFO] [stdout] test tests::replay_not_triggered_by_varying_payloads ... ok
[INFO] [stdout] test tests::replay_different_ids_tracked_separately ... ok
[INFO] [stdout] test tests::replay_re_alerts_on_sustained_attack ... ok
[INFO] [stdout] test tests::replay_resets_on_different_payload ... ok
[INFO] [stdout] test tests::replay_triggered_after_3_identical_payloads ... ok
[INFO] [stdout] test tests::rule_active_flag_inactive_rule_skipped ... ok
[INFO] [stdout] test tests::flood_detection_triggers ... ok
[INFO] [stdout] test tests::replay_tracker_evicts_oldest_when_full ... ok
[INFO] [stdout] test tests::no_alert_for_normal_traffic ... ok
[INFO] [stdout] test tests::rule_mask_all_zeros_matches_all_ids ... ok
[INFO] [stdout] test tests::no_alert_when_no_rule_matches ... ok
[INFO] [stdout] test tests::rule_matches_exact_id ... ok
[INFO] [stdout] test tests::rule_matches_masked_id ... ok
[INFO] [stdout] test tests::out_of_range_id_masked_before_allowlist ... ok
[INFO] [stdout] test tests::rule_mask_all_ones_matches_exactly_one_extended_id ... ok
[INFO] [stdout] test tests::second_rule_matches_when_first_does_not ... ok
[INFO] [stdout] test tests::security_bus_off_error_threshold_constant ... ok
[INFO] [stdout] test tests::security_dlc_anomaly_is_flagged ... ok
[INFO] [stdout] test tests::security_entropy_threshold_constant ... ok
[INFO] [stdout] test tests::security_unknown_can_id_blocked_by_allowlist ... ok
[INFO] [stdout] test tests::security_flood_detector_threshold_triggers ... ok
[INFO] [stdout] test tests::shannon_entropy_all_zeros_returns_zero ... ok
[INFO] [stdout] test tests::shannon_entropy_precision_check ... ok
[INFO] [stdout] test tests::siphash_different_payloads_different_hashes ... ok
[INFO] [stdout] test tests::stats_map_clear ... ok
[INFO] [stdout] test tests::stats_map_insert_and_retrieve ... ok
[INFO] [stdout] test tests::stats_map_collision_handling ... ok
[INFO] [stdout] test tests::stats_map_distinct_ids ... ok
[INFO] [stdout] test tests::stats_map_full_capacity ... ok
[INFO] [stdout] test tests::new_panics_on_zero_replay_key - should panic ... ok
[INFO] [stdout] test tests::stats_map_evictions_counter_increments_under_flood ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 109 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vs_coap_monitor-b4a57606bafcc3c8)
[INFO] [stdout] 
[INFO] [stdout] running 76 tests
[INFO] [stdout] test tests::add_rule_rejects_empty ... ok
[INFO] [stdout] test tests::add_rule_rejects_oversized ... ok
[INFO] [stdout] test tests::add_rule_rejects_when_full ... ok
[INFO] [stdout] test tests::alert_constants_are_unique ... ok
[INFO] [stdout] test tests::alert_ids_are_unique ... ok
[INFO] [stdout] test tests::alert_overflow_capped_at_4 ... ok
[INFO] [stdout] test tests::alerts_dropped_counter_on_overflow ... ok
[INFO] [stdout] test tests::allow_overrides_deny_default ... ok
[INFO] [stdout] test tests::allowed_methods_all ... ok
[INFO] [stdout] test tests::allowed_methods_bitmask ... ok
[INFO] [stdout] test tests::allowed_methods_get_post ... ok
[INFO] [stdout] test tests::allowed_methods_none ... ok
[INFO] [stdout] test tests::amplification_alert_uses_constant ... ok
[INFO] [stdout] test tests::amplification_detection ... ok
[INFO] [stdout] test tests::amplification_no_token_matches_no_token ... ok
[INFO] [stdout] test tests::amplification_token_mismatch_no_match ... ok
[INFO] [stdout] test tests::amplification_unknown_message_id ... ok
[INFO] [stdout] test tests::amplification_zero_payload_no_false_positive ... ok
[INFO] [stdout] test tests::amplification_zero_payload_now_detected ... ok
[INFO] [stdout] test tests::block_alert_uses_uri_blocked_constant ... ok
[INFO] [stdout] test tests::block_rule ... ok
[INFO] [stdout] test tests::bucket_exhaustion_alert_emitted ... ok
[INFO] [stdout] test tests::clear_rules_mid_traffic_no_corruption ... ok
[INFO] [stdout] test tests::clear_rules_works ... ok
[INFO] [stdout] test tests::default_allow ... ok
[INFO] [stdout] test tests::default_constructor ... ok
[INFO] [stdout] test tests::deny_default ... ok
[INFO] [stdout] test tests::longest_prefix_match ... ok
[INFO] [stdout] test tests::method_block_alert_uses_method_blocked_constant ... ok
[INFO] [stdout] test tests::method_delete_enforcement ... ok
[INFO] [stdout] test tests::method_enforcement ... ok
[INFO] [stdout] test tests::monitor_reset_clears_runtime_state ... ok
[INFO] [stdout] test tests::no_amplification_for_normal_response ... ok
[INFO] [stdout] test tests::non_monotonic_timestamp_no_panic ... ok
[INFO] [stdout] test tests::monitor_reset_preserves_amplification_threshold ... ok
[INFO] [stdout] test tests::monitor_reset_preserves_default_action ... ok
[INFO] [stdout] test tests::nonconfirmable_request_tracked ... ok
[INFO] [stdout] test tests::put_method_enforcement ... ok
[INFO] [stdout] test tests::rate_bucket_expires_and_is_reused ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vs_crypto-09fdbcade86b66c6)
[INFO] [stdout] test tests::rate_limit_bucket_exhaustion_alert ... ok
[INFO] [stdout] test tests::rate_bucket_matches_uri_with_different_lengths ... ok
[INFO] [stdout] test tests::rate_limit_refills_over_time ... ok
[INFO] [stdout] test tests::rate_limiting ... ok
[INFO] [stdout] test tests::remove_rule_invalid_index ... ok
[INFO] [stdout] test tests::remove_rule_works ... ok
[INFO] [stdout] test tests::rule_count_accessor ... ok
[INFO] [stdout] test tests::stats_tracking ... ok
[INFO] [stdout] test tests::timestamp_anomaly_alerts ... ok
[INFO] [stdout] test tests::timestamp_anomaly_does_not_block ... ok
[INFO] [stdout] test tests::timestamp_anomaly_severity_is_low ... ok
[INFO] [stdout] test tests::token_bounds_check_no_panic ... ok
[INFO] [stdout] test tests::update_rule_changes_action ... ok
[INFO] [stdout] test tests::timestamp_normal_progression_no_alert ... ok
[INFO] [stdout] test tests::update_rule_changes_methods ... ok
[INFO] [stdout] test tests::update_rule_invalid_index ... ok
[INFO] [stdout] test tests::update_rule_rejects_empty_pattern ... ok
[INFO] [stdout] test tests::uri_norm_alert_emitted_with_correct_source_id ... ok
[INFO] [stdout] test tests::uri_norm_double_encoded_dotdot_passes ... ok
[INFO] [stdout] test tests::uri_norm_empty_uri_allowed ... ok
[INFO] [stdout] test tests::uri_norm_happy_path_well_known_core ... ok
[INFO] [stdout] test tests::uri_norm_query_key_oversize ... ok
[INFO] [stdout] test tests::uri_norm_query_key_rejects_dotdot ... ok
[INFO] [stdout] test tests::uri_norm_oversized_segment ... ok
[INFO] [stdout] test tests::uri_norm_query_key_rejects_nul_and_empty ... ok
[INFO] [stdout] test tests::uri_norm_rejects_literal_dotdot_segment ... ok
[INFO] [stdout] test tests::uri_norm_rejects_dot_pct_dot_mix ... ok
[INFO] [stdout] test tests::uri_norm_rejects_empty_segment_double_slash ... ok
[INFO] [stdout] test tests::uri_norm_rejects_literal_nul_byte ... ok
[INFO] [stdout] test tests::uri_norm_rejects_lowercase_pct_dotdot ... ok
[INFO] [stdout] test tests::uri_norm_rejects_mixed_case_pct_dotdot ... ok
[INFO] [stdout] test tests::uri_norm_rejects_pct_dot_dot_mix ... ok
[INFO] [stdout] test tests::uri_norm_rejects_pct_nul_byte ... ok
[INFO] [stdout] test tests::uri_norm_rejects_single_dot_segment ... ok
[INFO] [stdout] test tests::uri_norm_rejects_uppercase_pct_dotdot ... ok
[INFO] [stdout] test tests::uri_norm_root_only_allowed ... ok
[INFO] [stdout] test tests::uri_norm_rejects_trailing_slash ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 76 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 63 tests
[INFO] [stdout] test tests::delete_key_clears_slot ... ok
[INFO] [stdout] test tests::generate_key_creates_usable_key ... ok
[INFO] [stdout] test tests::nonce_counter_custom_safety_margin ... ok
[INFO] [stdout] test tests::mock_provider_rejects_empty_key ... ok
[INFO] [stdout] test tests::nonce_counter_exhaustion ... ok
[INFO] [stdout] test tests::hmac_verify_wrong_mac ... ok
[INFO] [stdout] test tests::nonce_counter_monotonic ... ok
[INFO] [stdout] test tests::delete_key_out_of_range ... ok
[INFO] [stdout] test tests::nonce_counter_basic ... ok
[INFO] [stdout] test tests::hmac_verify_correct_mac ... ok
[INFO] [stdout] test tests::nonce_counter_persist_restore_no_reuse ... ok
[INFO] [stdout] test tests::nonce_counter_persisted_adds_safety_margin ... ok
[INFO] [stdout] test tests::nonce_counter_new_rejects_zero_prefix ... ok
[INFO] [stdout] test tests::nonce_counter_persist_restore_custom_margin_no_reuse ... ok
[INFO] [stdout] test tests::nonce_counter_persisted_near_max_succeeds ... ok
[INFO] [stdout] test tests::nonce_counter_persisted_rejects_zero_prefix ... ok
[INFO] [stdout] test tests::nonce_counter_persistence_value ... ok
[INFO] [stdout] test tests::nonce_counter_persisted_nonces_never_overlap ... ok
[INFO] [stdout] test tests::nonce_counter_persisted_overflow_returns_error ... ok
[INFO] [stdout] test tests::nonce_counter_random_prefix ... ok
[INFO] [stdout] test tests::nonce_counter_random_prefix_zero_rejected ... ok
[INFO] [stdout] test tests::nonce_tracker_accepts_unique_nonces ... ok
[INFO] [stdout] test tests::nonce_tracker_default_does_not_require_persistence ... ok
[INFO] [stdout] test tests::nonce_tracker_persistence_required_accepts_after_init ... ok
[INFO] [stdout] test tests::pq_ciphertext_larger_than_shared_secret ... ok
[INFO] [stdout] test tests::pq_mldsa65_public_key_matches_fips_204 ... ok
[INFO] [stdout] test tests::pq_mldsa65_signature_matches_fips_204 ... ok
[INFO] [stdout] test tests::pq_mlkem768_ciphertext_matches_fips_203 ... ok
[INFO] [stdout] test tests::pq_mlkem_shared_secret_is_32_bytes ... ok
[INFO] [stdout] test tests::pq_stub_provider_is_zero_sized ... ok
[INFO] [stdout] test tests::self_test_passes_on_software_provider ... ok
[INFO] [stdout] test tests::nonce_tracker_rejects_duplicate ... ok
[INFO] [stdout] test tests::pq_constant_sizes ... ok
[INFO] [stdout] test tests::pq_constant_sizes_are_nonzero ... ok
[INFO] [stdout] test tests::software_crypto_different_keys_different_hashes ... ok
[INFO] [stdout] test tests::software_crypto_sign_verify_roundtrip ... ok
[INFO] [stdout] test tests::software_crypto_tampered_tag_rejected ... ok
[INFO] [stdout] test tests::software_pq_decapsulate_wrong_ciphertext_fails ... ok
[INFO] [stdout] test tests::software_crypto_unprovisioned_key ... ok
[INFO] [stdout] test tests::software_crypto_encrypt_decrypt_roundtrip ... ok
[INFO] [stdout] test tests::software_pq_different_keys_different_outputs ... ok
[INFO] [stdout] test tests::software_crypto_invalid_key_slot ... ok
[INFO] [stdout] test tests::software_pq_encapsulate_decapsulate_roundtrip ... ok
[INFO] [stdout] test tests::software_pq_key_slot_overflow ... ok
[INFO] [stdout] test tests::software_pq_sign_verify_roundtrip ... ok
[INFO] [stdout] test tests::stub_pq_decapsulate_with_zeroed_ciphertext ... ok
[INFO] [stdout] test tests::software_pq_verify_wrong_message_fails ... ok
[INFO] [stdout] test tests::stub_pq_encapsulate_different_key_ids_all_fail ... ok
[INFO] [stdout] test tests::stub_pq_sign_empty_message ... ok
[INFO] [stdout] test tests::stub_pq_provider_returns_not_initialized ... ok
[INFO] [stdout] test tests::stub_pq_verify_empty_pub_key_and_message ... ok
[INFO] [stdout] test tests::software_pq_sign_verify_long_message ... ok
[INFO] [stdout] test tests::validate_nonce_accepts_valid ... ok
[INFO] [stdout] test tests::software_pq_no_key_returns_not_initialized ... ok
[INFO] [stdout] test tests::validate_nonce_rejects_all_0x01 ... ok
[INFO] [stdout] test tests::validate_nonce_rejects_all_0xff ... ok
[INFO] [stdout] test tests::validate_nonce_rejects_all_zero ... ok
[INFO] [stdout] test tests::validate_nonce_rejects_all_same ... ok
[INFO] [stdout] test tests::validate_nonce_rejects_wrong_length ... ok
[INFO] [stdout] test tests::nonce_tracker_persistence_required_rejects_before_init ... ok
[INFO] [stdout] test tests::nonce_tracker_rebuild_keeps_live_nonces_detectable ... ok
[INFO] [stdout] test tests::nonce_tracker_evicts_after_capacity ... ok
[INFO] [stdout] test tests::nonce_tracker_bloom_rebuilds_periodically_on_eviction ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 63 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vs_diag_gateway-562e457ddf5ce76d)
[INFO] [stdout] 
[INFO] [stdout] running 67 tests
[INFO] [stdout] test tests::audit_log_get_out_of_bounds_returns_none ... ok
[INFO] [stdout] test tests::audit_log_latest_on_empty_returns_none ... ok
[INFO] [stdout] test tests::audit_log_latest_returns_most_recent ... ok
[INFO] [stdout] test tests::audit_log_overflow_counter ... ok
[INFO] [stdout] test tests::audit_log_ring_buffer_wraps ... ok
[INFO] [stdout] test tests::audit_log_records_entries ... ok
[INFO] [stdout] test tests::audit_log_wraparound_entries_and_overflow_count ... ok
[INFO] [stdout] test tests::audit_log_sequence_numbers_are_monotonic ... ok
[INFO] [stdout] test tests::authorized_sid_passes_after_authentication ... ok
[INFO] [stdout] test tests::block_reason_security_access_denied_maps_to_nrc_0x33 ... ok
[INFO] [stdout] test tests::block_reason_variants_are_distinct ... ok
[INFO] [stdout] test tests::clear_lockout_preserves_entry_slot ... ok
[INFO] [stdout] test tests::default_session_transition_clears_security_state ... ok
[INFO] [stdout] test tests::download_sids_blocked_without_auth ... ok
[INFO] [stdout] test tests::extended_session_transition_preserves_security_state ... ok
[INFO] [stdout] test tests::last_timestamp_us_tracks_monotonic_time ... ok
[INFO] [stdout] test tests::exponential_backoff_across_multiple_lockout_cycles ... ok
[INFO] [stdout] test tests::lockout_counter_resets_after_expiry ... ok
[INFO] [stdout] test tests::lockout_eviction_prefers_expired_entries ... ok
[INFO] [stdout] test tests::lockout_does_not_evict_active_lockouts ... ok
[INFO] [stdout] test tests::lockout_on_one_tester_does_not_affect_another ... ok
[INFO] [stdout] test tests::max_sessions_with_different_tester_addresses ... ok
[INFO] [stdout] test tests::non_monotonic_timestamp_rejected ... ok
[INFO] [stdout] test tests::per_sid_min_level_allows_request_at_or_above_threshold ... ok
[INFO] [stdout] test tests::per_sid_min_level_blocks_request_below_threshold ... ok
[INFO] [stdout] test tests::per_sid_min_level_default_zero_does_not_block_unauthenticated_open_sid ... ok
[INFO] [stdout] test tests::persistence_callbacks_called_on_lockout_state_change ... ok
[INFO] [stdout] test tests::lockout_expires_after_duration ... ok
[INFO] [stdout] test tests::persistence_entry_callback_called_on_every_request ... ok
[INFO] [stdout] test tests::persistence_lockout_callback_on_clear ... ok
[INFO] [stdout] test tests::policy_allowed_sid_forwards_without_auth ... ok
[INFO] [stdout] test tests::policy_require_auth_sid_blocked_then_allowed ... ok
[INFO] [stdout] test tests::policy_require_auth_takes_precedence_over_allowed ... ok
[INFO] [stdout] test tests::restore_lockouts_from_populates_lockout_table ... ok
[INFO] [stdout] test tests::restore_lockouts_from_respects_max_capacity ... ok
[INFO] [stdout] test tests::restore_lockouts_from_skips_inactive_entries ... ok
[INFO] [stdout] test tests::security_access_sub_fn_0x01_always_returns_challenge ... ok
[INFO] [stdout] test tests::security_access_multi_level_sub_functions ... ok
[INFO] [stdout] test tests::security_access_wrong_sub_function_blocked ... ok
[INFO] [stdout] test tests::security_audit_log_records_failed_auth ... ok
[INFO] [stdout] test tests::security_lockout_duration_enforced ... ok
[INFO] [stdout] test tests::security_lockout_engages_after_exactly_threshold_failures ... ok
[INFO] [stdout] test tests::security_lockout_threshold_constant_is_3 ... ok
[INFO] [stdout] test tests::security_seed_is_populated_from_rng ... ok
[INFO] [stdout] test tests::security_session_timeout_enforced ... ok
[INFO] [stdout] test tests::seed_cleared_after_key_submission ... ok
[INFO] [stdout] test tests::seed_rate_limiting_rejects_rapid_requests ... ok
[INFO] [stdout] test tests::session_capacity_fifth_unauthenticated_evicts_oldest ... ok
[INFO] [stdout] test tests::session_capacity_rejects_when_all_authenticated ... ok
[INFO] [stdout] test tests::session_eviction_prefers_unauthenticated ... ok
[INFO] [stdout] test tests::session_expired_returned_for_timed_out_session ... ok
[INFO] [stdout] test tests::session_reuse_same_tester_gets_same_session ... ok
[INFO] [stdout] test tests::session_timeout_boundary_request_at_exactly_timeout ... ok
[INFO] [stdout] test tests::session_timeout_getters_match_constructor ... ok
[INFO] [stdout] test tests::session_timeout_terminates_idle_session ... ok
[INFO] [stdout] test tests::sid_0x31_blocked_without_auth_allowed_with_auth ... ok
[INFO] [stdout] test tests::sid_0x34_blocked_without_auth ... ok
[INFO] [stdout] test tests::set_persistence_callbacks_wires_up_correctly ... ok
[INFO] [stdout] test tests::sid_0x36_blocked_without_auth ... ok
[INFO] [stdout] test tests::sid_0x37_blocked_without_auth ... ok
[INFO] [stdout] test tests::tester_address_0x0000_not_falsely_expired_on_init ... ok
[INFO] [stdout] test tests::tester_address_0x0000_works_with_recently_expired ... ok
[INFO] [stdout] test tests::third_failed_security_access_triggers_lockout ... ok
[INFO] [stdout] test tests::uds_policy_default_denies_all ... ok
[INFO] [stdout] test tests::uds_policy_require_auth_clears_allow ... ok
[INFO] [stdout] test tests::unauthorized_sid_returns_block ... ok
[INFO] [stdout] test tests::two_testers_authenticate_independently ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 67 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vs_dnp3_monitor-f3bbe21d5b212ee6)
[INFO] [stdout] 
[INFO] [stdout] running 50 tests
[INFO] [stdout] test tests::crc16_dnp3_empty_input_matches_init_xor_final ... ok
[INFO] [stdout] test tests::add_address_rule_at_capacity_returns_error ... ok
[INFO] [stdout] test tests::default_constructor ... ok
[INFO] [stdout] test tests::duplicate_address_rule_rejected ... ok
[INFO] [stdout] test tests::fc_mask_blocks_disallowed ... ok
[INFO] [stdout] test tests::iin_detection_can_be_disabled ... ok
[INFO] [stdout] test tests::iin_check_only_runs_on_responses ... ok
[INFO] [stdout] test tests::iin_device_trouble_flapping_alerts ... ok
[INFO] [stdout] test tests::iin_initial_local_control_alerts_immediately ... ok
[INFO] [stdout] test tests::iin_local_control_rising_edge_alerts ... ok
[INFO] [stdout] test tests::illegal_fcs_above_31_are_blocked_but_responses_pass ... ok
[INFO] [stdout] test tests::iin_stable_state_does_not_alert ... ok
[INFO] [stdout] test tests::link_crc_bad_emits_alert ... ok
[INFO] [stdout] test tests::out_of_order_sequence_is_flagged ... ok
[INFO] [stdout] test tests::link_crc_validation_can_be_disabled ... ok
[INFO] [stdout] test tests::link_crc_not_provided_skips_check ... ok
[INFO] [stdout] test tests::link_crc_good_passes ... ok
[INFO] [stdout] test tests::payload_overflow_rejected ... ok
[INFO] [stdout] test tests::overlapping_wildcard_and_specific_rules ... ok
[INFO] [stdout] test tests::permissive_allows_all ... ok
[INFO] [stdout] test tests::rate_limiting_blocks_excess ... ok
[INFO] [stdout] test tests::reset_preserves_mode ... ok
[INFO] [stdout] test tests::reset_preserves_new_detector_toggles ... ok
[INFO] [stdout] test tests::sa_empty_payload_is_treated_as_downgrade ... ok
[INFO] [stdout] test tests::sa_downgrade_detection_can_be_disabled ... ok
[INFO] [stdout] test tests::sa_response_with_key_wrap_none_is_flagged ... ok
[INFO] [stdout] test tests::sa_with_valid_algorithms_passes ... ok
[INFO] [stdout] test tests::seq_validation_4bit_wraparound_accepts_distinct_values ... ok
[INFO] [stdout] test tests::seq_table_lru_eviction_preserves_recent_entries ... ok
[INFO] [stdout] test tests::seq_validation_detects_duplicate ... ok
[INFO] [stdout] test tests::seq_validation_is_per_address_pair ... ok
[INFO] [stdout] test tests::seq_validation_masks_upper_bits ... ok
[INFO] [stdout] test tests::strict_allows_configured_address ... ok
[INFO] [stdout] test tests::seq_validation_on_by_default ... ok
[INFO] [stdout] test tests::strict_blocks_unknown ... ok
[INFO] [stdout] test tests::strict_mode_emits_address_violation ... ok
[INFO] [stdout] test tests::transport_seq_in_order_is_allowed ... ok
[INFO] [stdout] test tests::transport_seq_large_backwards_jump_is_flagged ... ok
[INFO] [stdout] test tests::transport_seq_validation_can_be_disabled ... ok
[INFO] [stdout] test tests::transport_seq_duplicate_is_flagged ... ok
[INFO] [stdout] test tests::verify_crc_function_works_standalone ... ok
[INFO] [stdout] test tests::sa_non_auth_fc_is_not_scanned ... ok
[INFO] [stdout] test tests::sa_request_with_hmac_none_is_flagged ... ok
[INFO] [stdout] test tests::vuln07_retransmit_within_window_is_treated_as_replay ... ok
[INFO] [stdout] test tests::seq_validation_can_be_disabled ... ok
[INFO] [stdout] test tests::vuln07_same_seq_detected_as_replay ... ok
[INFO] [stdout] test tests::vuln07_seq_beyond_window_not_false_positive ... ok
[INFO] [stdout] test tests::vuln07_seq_within_window_is_allowed ... ok
[INFO] [stdout] test tests::write_protection ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vs_eth_monitor-791db569de0485c6)
[INFO] [stdout] test tests::wildcard_source_specific_dest ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 50 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 141 tests
[INFO] [stdout] test tests::add_allow_entry_returns_true_within_capacity ... ok
[INFO] [stdout] test tests::add_allowed_vlan_returns_true_within_capacity ... ok
[INFO] [stdout] test tests::alert_counter_increments ... ok
[INFO] [stdout] test tests::alert_bus_type_is_automotive_ethernet ... ok
[INFO] [stdout] test tests::alert_counter_starts_at_zero_for_first_alert ... ok
[INFO] [stdout] test tests::alert_severity_arp_spoof_is_critical ... ok
[INFO] [stdout] test tests::alert_severity_doip_unauth_is_critical ... ok
[INFO] [stdout] test tests::alert_severity_someip_oversize_is_high ... ok
[INFO] [stdout] test tests::alert_severity_vlan_hopping_is_high ... ok
[INFO] [stdout] test tests::alert_severity_someip_unknown_is_medium ... ok
[INFO] [stdout] test tests::allow_list_exact_match_vs_partial_match ... ok
[INFO] [stdout] test tests::allow_list_full_returns_false ... ok
[INFO] [stdout] test tests::arp_rate_limit_emits_alert_once ... ok
[INFO] [stdout] test tests::arp_request_opcode_1_vs_reply_opcode_2 ... ok
[INFO] [stdout] test tests::arp_same_ip_same_mac_no_spoof_repeated ... ok
[INFO] [stdout] test tests::arp_learn_then_spoof_detected ... ok
[INFO] [stdout] test tests::arp_sender_ip_different_positions_in_table ... ok
[INFO] [stdout] test tests::arp_rate_limit_resets_on_tick ... ok
[INFO] [stdout] test tests::arp_request_ignored ... ok
[INFO] [stdout] test tests::arp_ethertype_skips_someip_check ... ok
[INFO] [stdout] test tests::arp_same_mac_no_spoof ... ok
[INFO] [stdout] test tests::arp_learn_two_different_ips ... ok
[INFO] [stdout] test tests::arp_short_payload_ignored ... ok
[INFO] [stdout] test tests::doip_diagnostic_message_type_value ... ok
[INFO] [stdout] test tests::doip_different_mac_still_unauthenticated ... ok
[INFO] [stdout] test tests::doip_diagnostic_only_routing_request_still_allowed ... ok
[INFO] [stdout] test tests::doip_diagnostic_without_routing_alerts ... ok
[INFO] [stdout] test tests::doip_header_diagnostic_type ... ok
[INFO] [stdout] test tests::doip_header_is_copy ... ok
[INFO] [stdout] test tests::doip_diagnostic_after_routing_no_alert ... ok
[INFO] [stdout] test tests::arp_table_full_eviction ... ok
[INFO] [stdout] test tests::doip_header_negative_ack_type ... ok
[INFO] [stdout] test tests::doip_header_routing_request_type ... ok
[INFO] [stdout] test tests::doip_header_positive_ack_type ... ok
[INFO] [stdout] test tests::doip_header_routing_response_type ... ok
[INFO] [stdout] test tests::doip_parse_empty ... ok
[INFO] [stdout] test tests::doip_parse_exact_8_bytes ... ok
[INFO] [stdout] test tests::doip_negative_ack_without_routing_alerts ... ok
[INFO] [stdout] test tests::doip_parse_valid_header ... ok
[INFO] [stdout] test tests::doip_parse_too_short ... ok
[INFO] [stdout] test tests::doip_positive_ack_without_routing_alerts ... ok
[INFO] [stdout] test tests::doip_session_lifecycle_routing_then_diagnostic ... ok
[INFO] [stdout] test tests::doip_session_state_enum ... ok
[INFO] [stdout] test tests::doip_version_mismatch_ignored ... ok
[INFO] [stdout] test tests::doip_routing_from_two_different_macs ... ok
[INFO] [stdout] test tests::eth_packet_copy_semantics ... ok
[INFO] [stdout] test tests::eth_packet_ethertype_ipv4 ... ok
[INFO] [stdout] test tests::doip_unknown_payload_type_no_alert ... ok
[INFO] [stdout] test tests::empty_allow_list_all_services_pass ... ok
[INFO] [stdout] test tests::empty_packet_zero_byte_payload_no_crash ... ok
[INFO] [stdout] test tests::empty_payload_no_crash ... ok
[INFO] [stdout] test tests::eth_packet_ethertype_ipv6 ... ok
[INFO] [stdout] test tests::doip_version_zero_with_correct_inverse ... ok
[INFO] [stdout] test tests::eth_packet_is_copy ... ok
[INFO] [stdout] test tests::fifteen_byte_payload_someip_boundary_minus_one ... ok
[INFO] [stdout] test tests::inspect_returns_none_for_normal_traffic ... ok
[INFO] [stdout] test tests::fourteen_byte_payload_no_crash ... ok
[INFO] [stdout] test tests::ipv6_ah_chain_walks_to_upper_layer_protocol ... ok
[INFO] [stdout] test tests::ipv6_chained_extension_headers ... ok
[INFO] [stdout] test tests::ipv6_extension_header_truncated_packet_falls_through ... ok
[INFO] [stdout] test tests::ipv6_no_extension_headers_still_works ... ok
[INFO] [stdout] test tests::ipv6_with_auth_header_extension ... ok
[INFO] [stdout] test tests::ipv6_with_destination_options_extension_header ... ok
[INFO] [stdout] test tests::ipv6_with_fragment_extension_header ... ok
[INFO] [stdout] test tests::ipv6_with_hop_by_hop_extension_header ... ok
[INFO] [stdout] test tests::ipv6_with_routing_extension_header ... ok
[INFO] [stdout] test tests::malformed_doip_inverse_version_ignored ... ok
[INFO] [stdout] test tests::monitor_config_zero_max_length ... ok
[INFO] [stdout] test tests::monitor_with_all_default_config ... ok
[INFO] [stdout] test tests::fused_payload_hash_matches_reference ... ok
[INFO] [stdout] test tests::multiple_inspect_calls_idempotent_for_non_stateful ... ok
[INFO] [stdout] test tests::multiple_vlan_allowed_entries ... ok
[INFO] [stdout] test tests::one_byte_payload_no_crash ... ok
[INFO] [stdout] test tests::packet_with_broadcast_dst_mac ... ok
[INFO] [stdout] test tests::parse_ipv4_udp ... ok
[INFO] [stdout] test tests::parse_ipv4_valid_tcp ... ok
[INFO] [stdout] test tests::parse_ipv4_wrong_version ... ok
[INFO] [stdout] test tests::parse_transport_tcp_too_short ... ok
[INFO] [stdout] test tests::regression_allow_list_lookup_probe_matches_insert_probe ... ok
[INFO] [stdout] test tests::parse_ip_non_ip_ethertype ... ok
[INFO] [stdout] test tests::multiple_doip_sessions_tracked ... ok
[INFO] [stdout] test tests::parse_ipv4_too_short ... ok
[INFO] [stdout] test tests::regression_arp_rejects_nonstandard_hlen ... ok
[INFO] [stdout] test tests::regression_arp_rejects_nonstandard_plen ... ok
[INFO] [stdout] test tests::regression_doip_diagnostic_on_different_dst_port_not_authorised ... ok
[INFO] [stdout] test tests::regression_doip_rejects_broadcast_dst_mac_at_request ... ok
[INFO] [stdout] test tests::sd_entry_type_discriminant_values ... ok
[INFO] [stdout] test tests::regression_doip_rejects_multicast_dst_mac_at_request ... ok
[INFO] [stdout] test tests::regression_doip_activation_without_dst_port_creates_no_session ... ok
[INFO] [stdout] test tests::reject_all_zero_siphash_keys ... ok
[INFO] [stdout] test tests::sd_flags_byte_parsed ... ok
[INFO] [stdout] test tests::parse_ipv6_too_short ... ok
[INFO] [stdout] test tests::parse_transport_icmp_returns_none ... ok
[INFO] [stdout] test tests::parse_ipv6_valid ... ok
[INFO] [stdout] test tests::sd_flood_counter_resets_on_tick ... ok
[INFO] [stdout] test tests::sd_flood_property_test ... ok
[INFO] [stdout] test tests::sd_flood_detection ... ok
[INFO] [stdout] test tests::sd_parse_short_payload_returns_empty ... ok
[INFO] [stdout] test tests::sd_parse_subscribe_and_stop_entries ... ok
[INFO] [stdout] test tests::sd_parse_valid_offer_entry ... ok
[INFO] [stdout] test tests::sd_parse_zero_entries ... ok
[INFO] [stdout] test tests::sd_parse_multiple_entries ... ok
[INFO] [stdout] test tests::sd_service_table_full_gracefully_handled ... ok
[INFO] [stdout] test tests::sd_unknown_entry_type_skipped ... ok
[INFO] [stdout] test tests::sixteen_byte_payload_exactly_someip_header_parses ... ok
[INFO] [stdout] test tests::sd_offer_from_allowed_source_no_alert ... ok
[INFO] [stdout] test tests::someip_allowed_service_no_alert ... ok
[INFO] [stdout] test tests::sd_round_trip_parse_constructed_payload ... ok
[INFO] [stdout] test tests::someip_exact_budget_no_alert ... ok
[INFO] [stdout] test tests::someip_exact_max_length_boundary ... ok
[INFO] [stdout] test tests::someip_header_method_id_parsing ... ok
[INFO] [stdout] test tests::sd_parse_valid_find_entry ... ok
[INFO] [stdout] test tests::sd_offer_from_unknown_source_triggers_alert ... ok
[INFO] [stdout] test tests::someip_header_service_id_zero ... ok
[INFO] [stdout] test tests::someip_length_just_over_boundary ... ok
[INFO] [stdout] test tests::sd_ttl_expiry_removes_service ... ok
[INFO] [stdout] test tests::sd_ttl_zero_is_stop_offer ... ok
[INFO] [stdout] test tests::someip_no_allow_list_no_unknown_alert ... ok
[INFO] [stdout] test tests::someip_parse_exact_size ... ok
[INFO] [stdout] test tests::someip_parse_extra_bytes ... ok
[INFO] [stdout] test tests::someip_parse_too_short ... ok
[INFO] [stdout] test tests::someip_protocol_version_field_access ... ok
[INFO] [stdout] test tests::someip_unknown_service_alerts ... ok
[INFO] [stdout] test tests::someip_header_is_copy ... ok
[INFO] [stdout] test tests::someip_header_max_service_id ... ok
[INFO] [stdout] test tests::someip_within_budget_exact_boundary ... ok
[INFO] [stdout] test tests::someip_zero_length_within_zero_max ... ok
[INFO] [stdout] test tests::vlan_hopping_alert_has_correct_timestamp ... ok
[INFO] [stdout] test tests::someip_within_budget_no_alert ... ok
[INFO] [stdout] test tests::very_short_payload_no_crash ... ok
[INFO] [stdout] test tests::vlan_hopping_allowed_vlan_no_alert ... ok
[INFO] [stdout] test tests::vlan_hopping_disallowed_vlan_alerts ... ok
[INFO] [stdout] test tests::vlan_hopping_tagged_no_policy_alerts ... ok
[INFO] [stdout] test tests::vlan_hopping_no_vlan_no_alert ... ok
[INFO] [stdout] test tests::someip_oversized_payload_alerts ... ok
[INFO] [stdout] test tests::someip_parse_valid_header ... ok
[INFO] [stdout] test tests::vlan_id_boundary_4095 ... ok
[INFO] [stdout] test tests::vlan_id_boundary_zero ... ok
[INFO] [stdout] test tests::vlan_list_full_returns_false ... ok
[INFO] [stdout] test tests::vlan_tag_parsing_different_ethertypes ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vs_ethernetip_monitor-308c1ef2243cbc94)
[INFO] [stdout] test tests::someip_parse_empty ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 141 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 42 tests
[INFO] [stdout] test tests::add_command_rule_when_full_returns_resource_exhausted ... ok
[INFO] [stdout] test tests::cip_filter_blocks_disallowed_service ... ok
[INFO] [stdout] test tests::cip_filter_full_range_64_to_127_is_filterable ... ok
[INFO] [stdout] test tests::cip_filter_service_0x7f_is_filterable ... ok
[INFO] [stdout] test tests::cip_filter_service_above_63_is_filtered ... ok
[INFO] [stdout] test tests::cip_filter_only_applies_to_send_commands ... ok
[INFO] [stdout] test tests::cip_filter_unparseable_payload_bypasses_filter ... ok
[INFO] [stdout] test tests::cip_filter_zero_mask_disables_filter ... ok
[INFO] [stdout] test tests::default_constructor ... ok
[INFO] [stdout] test tests::handle_zero_data_plane_rejected_permissive ... ok
[INFO] [stdout] test tests::handle_zero_data_plane_rejected_strict ... ok
[INFO] [stdout] test tests::handle_zero_register_session_still_processed ... ok
[INFO] [stdout] test tests::handle_zero_unregister_session_rejected ... ok
[INFO] [stdout] test tests::parse_cip_service_accepts_wellformed_unconnected ... ok
[INFO] [stdout] test tests::multiple_simultaneous_sessions_different_handles ... ok
[INFO] [stdout] test tests::parse_cip_service_connected ... ok
[INFO] [stdout] test tests::parse_cip_service_rejects_cursor_overflow_item_len ... ok
[INFO] [stdout] test tests::parse_cip_service_rejects_excessive_item_count ... ok
[INFO] [stdout] test tests::payload_overflow_rejected ... ok
[INFO] [stdout] test tests::permissive_allows_all ... ok
[INFO] [stdout] test tests::rate_bucket_capacity_loosens_on_subsequent_call ... ok
[INFO] [stdout] test tests::parse_cip_service_unconnected ... ok
[INFO] [stdout] test tests::rate_bucket_capacity_tightens_on_subsequent_call ... ok
[INFO] [stdout] test tests::parse_cip_service_strips_response_bit ... ok
[INFO] [stdout] test tests::rate_limiter_lru_eviction_allows_new_session ... ok
[INFO] [stdout] test tests::rate_limiting_blocks_excess ... ok
[INFO] [stdout] test tests::reset_preserves_mode ... ok
[INFO] [stdout] test tests::session_lru_eviction_when_table_full ... ok
[INFO] [stdout] test tests::session_expires_after_timeout ... ok
[INFO] [stdout] test tests::session_register_and_unregister ... ok
[INFO] [stdout] test tests::specific_rule_added_first_still_wins ... ok
[INFO] [stdout] test tests::specific_rule_wins_over_wildcard_added_first ... ok
[INFO] [stdout] test tests::strict_blocks_unknown ... ok
[INFO] [stdout] test tests::vuln02_cip_service_code_above_63_can_be_allowed ... ok
[INFO] [stdout] test tests::vuln02_cip_service_code_above_63_can_be_blocked ... ok
[INFO] [stdout] test tests::stats_tracking ... ok
[INFO] [stdout] test tests::strict_allows_configured_command ... ok
[INFO] [stdout] test tests::vuln03_active_session_not_expired_before_idle_timeout ... ok
[INFO] [stdout] test tests::wildcard_command_matching_with_rate_limiting ... ok
[INFO] [stdout] test tests::vuln03_idle_session_expires_after_inactivity ... ok
[INFO] [stdout] test tests::wildcard_still_matches_for_other_commands ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vs_event_logger-8d72a47a0103eeef)
[INFO] [stdout] test tests::parse_cip_service_rejects_truncated ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 42 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 42 tests
[INFO] [stdout] test tests::append_with_empty_payload ... ok
[INFO] [stdout] test tests::append_returns_sequential_ids ... ok
[INFO] [stdout] test tests::append_with_max_payload_128_bytes ... ok
[INFO] [stdout] test tests::append_with_payload_over_128_returns_error ... ok
[INFO] [stdout] test tests::chain_verification_passes_on_unmodified_log ... ok
[INFO] [stdout] test tests::event_type_diagnostic_session ... ok
[INFO] [stdout] test tests::event_type_key_operation ... ok
[INFO] [stdout] test tests::event_type_ota_update ... ok
[INFO] [stdout] test tests::entry_count_increments ... ok
[INFO] [stdout] test tests::event_type_policy_change ... ok
[INFO] [stdout] test tests::event_type_security_alert ... ok
[INFO] [stdout] test tests::event_type_system_event_variant ... ok
[INFO] [stdout] test tests::event_type_try_from_invalid_returns_error ... ok
[INFO] [stdout] test tests::event_type_try_from_valid_values ... ok
[INFO] [stdout] test tests::empty_log_verify_chain ... ok
[INFO] [stdout] test tests::export_empty_range_returns_zero ... ok
[INFO] [stdout] test tests::export_respects_output_buffer_limit ... ok
[INFO] [stdout] test tests::hmac_chain_modifying_sequence_breaks_verification ... ok
[INFO] [stdout] test tests::entry_count_matches_append_count ... ok
[INFO] [stdout] test tests::near_overflow_threshold_is_90_percent ... ok
[INFO] [stdout] test tests::export_with_from_seq_greater_than_to_seq_returns_0 ... ok
[INFO] [stdout] test tests::export_entries_copies_correct_range ... ok
[INFO] [stdout] test tests::hmac_message_matches_serialize_prefix ... ok
[INFO] [stdout] test tests::export_with_from_seq_equals_to_seq_returns_1_entry ... ok
[INFO] [stdout] test tests::event_type_boot_event ... ok
[INFO] [stdout] test tests::overflow_count_tracks_overwrites ... ok
[INFO] [stdout] test tests::payload_over_128_returns_error ... ok
[INFO] [stdout] test tests::ring_buffer_head_tail_after_exactly_capacity_appends ... ok
[INFO] [stdout] test tests::sequence_numbers_strictly_monotonic ... ok
[INFO] [stdout] test tests::single_entry_verifies ... ok
[INFO] [stdout] test tests::ring_wrap_verify_chain ... ok
[INFO] [stdout] test tests::tamper_does_not_cascade_silently ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vs_evidence_envelope-a81744d6c8929131)
[INFO] [stdout] test tests::tamper_payload_detected ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vs_ffi-11dab0bf5567e62c)
[INFO] [stdout] test tests::tamper_hmac_detected ... ok
[INFO] [stderr]      Running tests/abi.rs (/opt/rustwide/target/debug/deps/abi-6e474df3be3ae458)
[INFO] [stdout] test tests::tamper_payload_len_detected ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vs_ffi_auto-d0b51c44a373771a)
[INFO] [stdout] test tests::two_distinct_tampers_are_both_detected ... ok
[INFO] [stdout] test tests::timestamp_equal_to_previous_is_allowed ... ok
[INFO] [stdout] test tests::overflow_count_tracked_correctly ... ok
[INFO] [stdout] test tests::timestamp_going_backward_returns_error ... ok
[INFO] [stdout] test tests::timestamp_stored_correctly ... ok
[INFO] [stdout] test tests::two_logs_with_same_data_produce_same_hmacs ... ok
[INFO] [stdout] test tests::verify_chain_on_single_entry_succeeds ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 42 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test tests::evidence_accessors ... ok
[INFO] [stdout] test tests::from_bytes_truncates_at_nul ... ok
[INFO] [stdout] test tests::evidence_is_copy_when_payload_is_copy ... ok
[INFO] [stdout] test tests::from_bytes_with_len_clamps_to_sixteen ... ok
[INFO] [stdout] test tests::from_bytes_with_len_preserves_interior_nul ... ok
[INFO] [stdout] test tests::generator_version_truncates ... ok
[INFO] [stdout] test tests::generator_version_roundtrip ... ok
[INFO] [stdout] test tests::generator_version_try_from_str_accepts_short ... ok
[INFO] [stdout] test tests::generator_version_try_from_str_rejects_overlong ... ok
[INFO] [stdout] test tests::schema_version_components ... ok
[INFO] [stdout] test tests::schema_version_metadata_roundtrip_lossless_within_8bit_range ... ok
[INFO] [stdout] test tests::schema_version_try_new_rejects_overlong_components ... ok
[INFO] [stdout] test tests::standard_labels ... ok
[INFO] [stdout] test tests::with_metadata_uses_supplied_standard_and_unpacks_schema ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test abi_version_major_is_one ... ok
[INFO] [stdout] test abi_version_constant_matches_header ... ok
[INFO] [stdout] test error_codes_are_stable ... ok
[INFO] [stdout] test vs_can_frame_field_offsets ... ok
[INFO] [stdout] test abi_version_query_returns_constant ... ok
[INFO] [stdout] test vs_can_frame_size_and_align ... ok
[INFO] [stdout] test vs_health_field_offsets ... ok
[INFO] [stdout] test vs_health_size_and_align ... ok
[INFO] [stdout] test vs_result_field_offsets ... ok
[INFO] [stdout] test vs_result_size_and_align ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 43 tests
[INFO] [stdout] test tests::can_frame_misaligned_pointer ... ok
[INFO] [stdout] test tests::eth_packet_misaligned_pointer ... ok
[INFO] [stdout] test tests::ffi_guard_passes_through_ok_result ... ok
[INFO] [stdout] test tests::ffi_guard_passes_through_error_result ... ok
[INFO] [stdout] test tests::health_misaligned_pointer ... ok
[INFO] [stdout] test tests::lin_frame_misaligned_pointer ... ok
[INFO] [stdout] test tests::flexray_frame_misaligned_pointer ... ok
[INFO] [stdout] test tests::lin_frame_null_pointer ... ok
[INFO] [stdout] test tests::flexray_frame_null_pointer ... ok
[INFO] [stdout] test tests::ota_manifest_misaligned_pointer ... ok
[INFO] [stdout] test tests::auto_ffi_lifecycle ... ok
[INFO] [stdout] test tests::can_frame_not_initialized ... ok
[INFO] [stdout] test tests::ota_manifest_null_pointer ... ok
[INFO] [stdout] test tests::ota_manifest_rejects_data_len_one_over_buffer ... ok
[INFO] [stdout] test tests::ota_manifest_rejects_data_len_u32_max ... ok
[INFO] [stdout] test tests::status_to_i32_mapping ... ok
[INFO] [stdout] test tests::stub_crypto_detection ... ok
[INFO] [stdout] test tests::eth_packet_not_initialized ... ok
[INFO] [stdout] test tests::token_bucket_does_not_exceed_capacity_on_refill ... ok
[INFO] [stdout] test tests::token_bucket_backward_time_does_not_refill ... ok
[INFO] [stdout] test tests::lin_frame_not_initialized ... ok
[INFO] [stdout] test tests::token_bucket_fractional_second_refill ... ok
[INFO] [stdout] test tests::token_bucket_initial_capacity ... ok
[INFO] [stdout] test tests::token_bucket_large_forward_jump_capped ... ok
[INFO] [stdout] test tests::ota_manifest_accepts_data_len_at_buffer_limit ... ok
[INFO] [stdout] test tests::token_bucket_refill_precision ... ok
[INFO] [stdout] test tests::token_bucket_refills_over_time ... ok
[INFO] [stdout] test tests::token_bucket_reset ... ok
[INFO] [stdout] test tests::uds_rate_limit_resets_after_window ... ok
[INFO] [stdout] test tests::token_bucket_very_low_rate_accumulates ... ok
[INFO] [stdout] test tests::uds_request_misaligned_pointer ... ok
[INFO] [stdout] test tests::uds_decision_misaligned_pointer ... ok
[INFO] [stdout] test tests::uds_rate_limit_default_constants ... ok
[INFO] [stdout] test tests::uds_rate_limit_token_bucket_fires_after_cap ... ok
[INFO] [stdout] test tests::uds_request_null_pointer ... ok
[INFO] [stdout] test tests::uds_request_rejects_payload_len_over_buffer ... ok
[INFO] [stdout] test tests::uds_request_rejects_payload_len_u16_max ... ok
[INFO] [stdout] test tests::flexray_frame_not_initialized ... ok
[INFO] [stdout] test tests::ota_manifest_not_initialized ... ok
[INFO] [stdout] test tests::stub_init_flag_lifecycle ... ok
[INFO] [stdout] test tests::uds_request_not_initialized ... ok
[INFO] [stdout] test tests::uds_request_rate_limit_returns_rate_limited ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vs_hal-4afc97194cdb2583)
[INFO] [stdout] test tests::ffi_guard_catches_panic_and_returns_internal ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 43 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 68 tests
[INFO] [stdout] test tests::can_error_enum_values ... ok
[INFO] [stdout] test tests::can_frame_id_validation_extended ... ok
[INFO] [stdout] test tests::can_frame_id_validation_standard ... ok
[INFO] [stdout] test tests::hsm_capabilities_is_copy_and_eq ... ok
[INFO] [stdout] test tests::can_frame_payload_slice ... ok
[INFO] [stdout] test tests::hsm_capabilities_none_is_all_disabled ... ok
[INFO] [stdout] test tests::payload_len_can_fd_iso_mapping ... ok
[INFO] [stdout] test tests::can_bus_default_methods_on_stub ... ok
[INFO] [stdout] test tests::can_bus_recover_bus_off_default ... ok
[INFO] [stdout] test tests::payload_len_can_fd_over_15_clamps ... ok
[INFO] [stdout] test tests::payload_len_classic_can ... ok
[INFO] [stdout] test tests::payload_len_zero_dlc ... ok
[INFO] [stdout] test tests::raw_can_frame_fd_max_dlc ... ok
[INFO] [stdout] test tests::raw_can_frame_zeroed ... ok
[INFO] [stdout] test tests::raw_can_frame_with_data ... ok
[INFO] [stdout] test tests::raw_eth_frame_equality ... ok
[INFO] [stdout] test tests::raw_eth_frame_invalid_len_clamped ... ok
[INFO] [stdout] test tests::raw_eth_frame_max_len ... ok
[INFO] [stdout] test tests::raw_eth_frame_partial_eq_only_compares_valid_bytes ... ok
[INFO] [stdout] test tests::raw_eth_frame_with_data ... ok
[INFO] [stdout] test tests::secure_storage_counter_increment ... ok
[INFO] [stdout] test tests::secure_storage_counter_out_of_range ... ok
[INFO] [stdout] test tests::secure_storage_delete ... ok
[INFO] [stdout] test tests::secure_storage_delete_not_found ... ok
[INFO] [stdout] test tests::secure_storage_empty_key_rejected ... ok
[INFO] [stdout] test tests::stub_can_bus_max_bitrate ... ok
[INFO] [stdout] test tests::stub_can_bus_multiple_transmit ... ok
[INFO] [stdout] test tests::stub_can_bus_receive_returns_none ... ok
[INFO] [stdout] test tests::stub_can_bus_transmit_succeeds ... ok
[INFO] [stdout] test tests::raw_eth_frame_zeroed ... ok
[INFO] [stdout] test tests::secure_storage_contains ... ok
[INFO] [stdout] test tests::secure_storage_counter_overflow_returns_error ... ok
[INFO] [stdout] test tests::stub_ethernet_phy_default ... ok
[INFO] [stdout] test tests::secure_storage_overwrite ... ok
[INFO] [stdout] test tests::stub_ethernet_phy_link_default_up ... ok
[INFO] [stdout] test tests::secure_storage_read_buffer_too_small ... ok
[INFO] [stdout] test tests::secure_storage_read_not_found ... ok
[INFO] [stdout] test tests::stub_ethernet_phy_link_down ... ok
[INFO] [stdout] test tests::secure_storage_write_read_roundtrip ... ok
[INFO] [stdout] test tests::stub_ethernet_phy_link_speed ... ok
[INFO] [stdout] test tests::stub_hsm_implements_every_required_method ... ok
[INFO] [stdout] test tests::stub_hsm_import_and_encrypt_decrypt ... ok
[INFO] [stdout] test tests::stub_hsm_import_key_too_large ... ok
[INFO] [stdout] test tests::stub_hsm_length_mismatch_rejected ... ok
[INFO] [stdout] test tests::stub_hsm_monotonic_counter ... ok
[INFO] [stdout] test tests::stub_hsm_random_bytes ... ok
[INFO] [stdout] test tests::stub_hsm_sha256 ... ok
[INFO] [stdout] test tests::stub_hsm_sign_and_verify ... ok
[INFO] [stdout] test tests::stub_hsm_slot_out_of_range ... ok
[INFO] [stdout] test tests::stub_timer_advance ... ok
[INFO] [stdout] test tests::stub_timer_advance_then_set_forward ... ok
[INFO] [stdout] test tests::stub_timer_returns_start_time ... ok
[INFO] [stdout] test tests::stub_timer_saturating_advance ... ok
[INFO] [stdout] test tests::stub_timer_set_forward ... ok
[INFO] [stdout] test tests::stub_timer_set_monotonic_clamps_backward ... ok
[INFO] [stdout] test tests::stub_timer_set_unchecked_allows_backward ... ok
[INFO] [stdout] test tests::stub_timer_zero_advance ... ok
[INFO] [stdout] test tests::watchdog_is_running_after_restart ... ok
[INFO] [stdout] test tests::watchdog_kick_while_stopped_returns_error ... ok
[INFO] [stdout] test tests::watchdog_start_kick_stop_lifecycle ... ok
[INFO] [stdout] test tests::watchdog_zero_timeout_rejected ... ok
[INFO] [stdout] test tests::stub_can_bus_zero_bitrate ... ok
[INFO] [stdout] test tests::stub_ethernet_phy_receive_returns_none ... ok
[INFO] [stdout] test tests::stub_hsm_capabilities_match_implementation ... ok
[INFO] [stdout] test tests::stub_ethernet_phy_transmit_succeeds ... ok
[INFO] [stdout] test tests::stub_hsm_default ... ok
[INFO] [stdout] test tests::stub_hsm_hmac_sha256 ... ok
[INFO] [stdout] test tests::stub_hsm_ecdh_derive ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 68 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 35 tests
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vs_hal_linux-1f870710c437b10b)
[INFO] [stdout] test can::tests::dlc_clamped_to_8_for_classic ... ok
[INFO] [stdout] test can::tests::error_frame_decoded_as_overrun ... ok
[INFO] [stdout] test can::tests::error_frame_decoded_as_bus_off ... ok
[INFO] [stdout] test can::tests::interface_name_too_long_fails ... ok
[INFO] [stdout] test can::tests::error_frame_decoded_as_ack_error ... ok
[INFO] [stdout] test can::tests::error_frame_decoded_as_stuff_error ... ok
[INFO] [stdout] test can::tests::roundtrip_extended_id ... ok
[INFO] [stdout] test can::tests::roundtrip_fd_frame ... ok
[INFO] [stdout] test can::tests::rtr_and_err_flags_stripped_from_id ... ok
[INFO] [stdout] test ethernet::tests::empty_name_accepted ... ok
[INFO] [stdout] test can::tests::kernel_can_filter_size_is_8_bytes ... ok
[INFO] [stdout] test can::tests::kernel_can_frame_size_is_16_bytes ... ok
[INFO] [stdout] test can::tests::kernel_canfd_frame_size_is_72_bytes ... ok
[INFO] [stdout] test ethernet::tests::interface_name_too_long_fails ... ok
[INFO] [stdout] test can::tests::open_nonexistent_interface_fails ... ok
[INFO] [stdout] test can::tests::dlc_clamped_to_64_for_fd ... ok
[INFO] [stdout] test ethernet::tests::interface_with_path_separator_rejected_at_open ... ok
[INFO] [stdout] test ethernet::tests::path_traversal_rejected ... ok
[INFO] [stdout] test ethernet::tests::open_nonexistent_interface_fails ... ok
[INFO] [stdout] test can::tests::roundtrip_standard_id ... ok
[INFO] [stdout] test ethernet::tests::timestamp_returns_nonzero ... ok
[INFO] [stdout] test ethernet::tests::sockaddr_ll_size ... ok
[INFO] [stdout] test ethernet::tests::transmit_short_frame_is_padded ... ok
[INFO] [stdout] test ethernet::tests::valid_interface_names_accepted ... ok
[INFO] [stdout] test ethernet::tests::transmit_oversized_frame_fails ... ok
[INFO] [stdout] test ethernet::tests::special_characters_rejected ... ok
[INFO] [stdout] test timer::tests::timer_cycle_count_available_on_this_platform ... ok
[INFO] [stdout] test timer::tests::timer_cycle_count_monotonic ... ok
[INFO] [stdout] test timer::tests::timer_cycle_count_nonzero_on_supported_platforms ... ok
[INFO] [stdout] test timer::tests::timer_default_works ... ok
[INFO] [stdout] test timer::tests::timer_multiple_reads_all_monotonic ... ok
[INFO] [stdout] test timer::tests::timer_last_us_updated_after_read ... ok
[INFO] [stdout] test timer::tests::timer_now_us_is_monotonic ... ok
[INFO] [stdout] test timer::tests::timer_now_us_returns_nonzero ... ok
[INFO] [stdout] test timer::tests::timer_microsecond_resolution ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 35 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 31 tests
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vs_health-87480f4aefe20902)
[INFO] [stdout] test tests::alert_on_one_subsystem_does_not_touch_others ... ok
[INFO] [stdout] test tests::auto_recover_exact_threshold_is_inclusive ... ok
[INFO] [stdout] test tests::auto_recover_handles_now_before_degraded_since_gracefully ... ok
[INFO] [stdout] test tests::auto_recover_recovers_multiple_subsystems_in_one_call ... ok
[INFO] [stdout] test tests::auto_recover_respects_timeout ... ok
[INFO] [stdout] test tests::auto_recover_sets_dirty_bit_on_recovery ... ok
[INFO] [stdout] test tests::auto_recover_skips_ready_and_not_initialized ... ok
[INFO] [stdout] test tests::auto_recover_skips_failed ... ok
[INFO] [stdout] test tests::closure_can_mark_ready_clearing_degraded_since ... ok
[INFO] [stdout] test tests::default_equals_new ... ok
[INFO] [stdout] test tests::dirty_bit_is_clear_on_new ... ok
[INFO] [stdout] test tests::auto_recover_when_nothing_to_recover_does_not_dirty ... ok
[INFO] [stdout] test tests::dirty_bit_survives_multiple_alerts_until_taken ... ok
[INFO] [stdout] test tests::mark_initialized_clears_prior_degraded_since ... ok
[INFO] [stdout] test tests::mark_initialized_does_not_dirty_when_already_ready_and_clean ... ok
[INFO] [stdout] test tests::mark_initialized_transitions_to_ready_and_dirties ... ok
[INFO] [stdout] test tests::dirty_bit_is_set_by_with_subsystem_alert ... ok
[INFO] [stdout] test tests::failed_outranks_subsequent_mark_degraded ... ok
[INFO] [stdout] test tests::new_registry_is_all_not_initialized_and_clean ... ok
[INFO] [stdout] test tests::closure_can_mark_failed_clearing_degraded_since ... ok
[INFO] [stdout] test tests::shutdown_clears_degraded_since_runtime_ind_regression ... ok
[INFO] [stdout] test tests::shutdown_resets_all_state ... ok
[INFO] [stdout] test tests::subsystem_id_all_order_matches_index ... ok
[INFO] [stdout] test tests::subsystem_id_count_matches_all_array ... ok
[INFO] [stdout] test tests::unhealthy_classification ... ok
[INFO] [stdout] test tests::take_dirty_returns_and_clears ... ok
[INFO] [stdout] test tests::ts_us_zero_does_not_block_auto_recovery ... ok
[INFO] [stdout] test tests::ts_us_zero_is_clamped_to_one ... ok
[INFO] [stdout] test tests::with_subsystem_alert_marks_degraded_and_stamps_ts ... ok
[INFO] [stdout] test tests::with_subsystem_alert_returns_closure_value ... ok
[INFO] [stdout] test tests::subsystem_id_indices_are_dense_and_unique ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 31 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 68 tests
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vs_ids_engine-d75dbfc13ad0d967)
[INFO] [stdout] test tests::alert_severity_unchanged_when_only_one_bus_type ... ok
[INFO] [stdout] test tests::all_dispatchers_fire_on_critical ... ok
[INFO] [stdout] test tests::backward_clock_alert_contains_original_timestamp ... ok
[INFO] [stdout] test tests::backward_clock_alert_fires_only_once_per_tick ... ok
[INFO] [stdout] test tests::backward_clock_threshold_fires_at_exact_count ... ok
[INFO] [stdout] test tests::can_flood_generates_alert ... ok
[INFO] [stdout] test tests::backward_clock_alert_suppressed_until_tick ... ok
[INFO] [stdout] test tests::backward_clock_counter_does_not_saturate_at_max ... ok
[INFO] [stdout] test tests::backward_clock_threshold_fires_alert ... ok
[INFO] [stdout] test tests::consecutive_dispatch_alert_calls_report_clean_flags ... ok
[INFO] [stdout] test tests::backwards_timestamp_is_clamped ... ok
[INFO] [stdout] test tests::correlated_can_eth_escalates ... ok
[INFO] [stdout] test tests::custom_policy_overrides_default ... ok
[INFO] [stdout] test tests::backward_clock_alert_resets_after_tick ... ok
[INFO] [stdout] test tests::block_response_named_fields ... ok
[INFO] [stdout] test tests::correlation_window_expiry_no_escalation ... ok
[INFO] [stdout] test tests::dedup_escalation_returns_critical_to_caller ... ok
[INFO] [stdout] test tests::default_policy_info_returns_log ... ok
[INFO] [stdout] test tests::default_policy_low_returns_log ... ok
[INFO] [stdout] test tests::default_policy_medium_returns_log ... ok
[INFO] [stdout] test tests::dispatch_alert_block_dispatcher_does_not_fire_for_log_response ... ok
[INFO] [stdout] test tests::dispatch_alert_block_dispatcher_fires_for_isolate_response ... ok
[INFO] [stdout] test tests::dispatch_alert_fires_log_dispatcher_for_any_alert ... ok
[INFO] [stdout] test tests::dispatch_alert_telemetry_fires_for_non_log_responses ... ok
[INFO] [stdout] test tests::dispatch_alert_zeroes_prior_flags_each_cycle ... ok
[INFO] [stdout] test tests::dispatchers_registered ... ok
[INFO] [stdout] test tests::duplicate_dispatcher_rejected ... ok
[INFO] [stdout] test tests::duplicate_policy_severity_rejected ... ok
[INFO] [stdout] test tests::engine_benign_single_frame_no_alert ... ok
[INFO] [stdout] test tests::engine_eth_default_config_no_alert ... ok
[INFO] [stdout] test tests::engine_fresh_has_no_recent_alerts ... ok
[INFO] [stdout] test tests::escalate_severity_levels ... ok
[INFO] [stdout] test tests::eth_monitor_mut_accessor ... ok
[INFO] [stdout] test tests::eth_monitor_ref_accessor ... ok
[INFO] [stdout] test tests::forward_timestamp_is_not_clamped ... ok
[INFO] [stdout] test tests::custom_policy_info_log ... ok
[INFO] [stdout] test tests::custom_policy_critical_shutdown ... ok
[INFO] [stdout] test tests::dedup_escalation_dispatches_at_critical_severity ... ok
[INFO] [stdout] test tests::dedup_groups_alerts_from_same_source ... ok
[INFO] [stdout] test tests::mixed_traffic_can_normal_eth_normal_can_flood ... ok
[INFO] [stdout] test tests::dedup_separates_alerts_from_different_source_ids ... ok
[INFO] [stdout] test tests::multiple_eth_alerts_without_can_no_correlation_escalation ... ok
[INFO] [stdout] test tests::default_policy_high_returns_alert ... ok
[INFO] [stdout] test tests::default_policy_critical_returns_isolate ... ok
[INFO] [stdout] test tests::record_alert_deduplicates ... ok
[INFO] [stdout] test tests::policy_table_exhaustion ... ok
[INFO] [stdout] test tests::multiple_can_floods_without_eth_no_correlation_escalation ... ok
[INFO] [stdout] test tests::remove_nonexistent_dispatcher_returns_false ... ok
[INFO] [stdout] test tests::remove_nonexistent_policy_returns_false ... ok
[INFO] [stdout] test tests::remove_only_dispatcher_clears_flag ... ok
[INFO] [stdout] test tests::should_dispatch_block_selective ... ok
[INFO] [stdout] test tests::remove_policy_works ... ok
[INFO] [stdout] test tests::set_escalation_threshold_max_is_accepted ... ok
[INFO] [stdout] test tests::should_dispatch_log_always_fires ... ok
[INFO] [stdout] test tests::should_dispatch_telemetry_selective ... ok
[INFO] [stdout] test tests::remove_dispatcher_shifts_dispatch_flags ... ok
[INFO] [stdout] test tests::submit_eth_packet_no_alert_returns_none ... ok
[INFO] [stdout] test tests::remove_dispatcher_works ... ok
[INFO] [stdout] test tests::submit_can_frame_no_alert_returns_none ... ok
[INFO] [stdout] test tests::remove_first_dispatcher_shifts_all_flags_down ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vs_iec60870_monitor-e1b6725fa29c2fa5)
[INFO] [stdout] test tests::tick_expires_old_alerts ... ok
[INFO] [stdout] test tests::tick_clears_alerts_correctly_when_empty ... ok
[INFO] [stdout] test tests::set_escalation_threshold_zero_is_clamped_to_one ... ok
[INFO] [stdout] test tests::tick_expires_correctly_after_dedup_refresh_breaks_chronology ... ok
[INFO] [stdout] test tests::tick_expires_stale_entry_when_newer_entry_sits_before_it ... ok
[INFO] [stdout] test tests::tick_with_no_alerts_does_nothing ... ok
[INFO] [stdout] test tests::update_nonexistent_policy_returns_not_found ... ok
[INFO] [stdout] test tests::update_policy_works ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 68 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 36 tests
[INFO] [stdout] test tests::cot_filter_allows ... ok
[INFO] [stdout] test tests::cot_filter_blocks ... ok
[INFO] [stdout] test tests::cot_from_u8 ... ok
[INFO] [stdout] test tests::cot_is_command ... ok
[INFO] [stdout] test tests::duplicate_rule_rejected ... ok
[INFO] [stdout] test tests::find_matching_rule_first_match_wins ... ok
[INFO] [stdout] test tests::find_matching_rule_last_slot_match ... ok
[INFO] [stdout] test tests::find_matching_rule_no_match_returns_none_path ... ok
[INFO] [stdout] test tests::find_matching_rule_unused_slots_do_not_match ... ok
[INFO] [stdout] test tests::frame_is_command_type_id ... ok
[INFO] [stdout] test tests::parse_bad_length_rejected ... ok
[INFO] [stdout] test tests::parse_bad_start_byte_rejected ... ok
[INFO] [stdout] test tests::parse_i_frame_still_works ... ok
[INFO] [stdout] test tests::parse_invalid_u_pattern_rejected ... ok
[INFO] [stdout] test tests::parse_s_frame_with_asdu_rejected ... ok
[INFO] [stdout] test tests::parse_all_six_valid_u_functions ... ok
[INFO] [stdout] test tests::parse_valid_s_frame_accepted ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vs_iec61850_monitor-2f7b61e136811989)
[INFO] [stdout] test tests::parse_u_with_nonzero_reserved_bytes_rejected ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vs_integrity-3194dae3e6956543)
[INFO] [stdout] test tests::find_matching_rule_wildcard_does_not_override_specific ... ok
[INFO] [stdout] test tests::parse_too_short_rejected ... ok
[INFO] [stdout] test tests::s_frame_passes ... ok
[INFO] [stdout] test tests::s_frame_with_asdu_rejected_by_inspect ... ok
[INFO] [stdout] test tests::permissive_allows_unknown ... ok
[INFO] [stdout] test tests::seq_forward_ok ... ok
[INFO] [stdout] test tests::seq_replay_detected ... ok
[INFO] [stdout] test tests::reset_preserves_settings ... ok
[INFO] [stdout] test tests::rate_limiting ... ok
[INFO] [stdout] test tests::strict_allows_configured ... ok
[INFO] [stdout] test tests::strict_blocks_unknown ... ok
[INFO] [stdout] test tests::type_id_allowlist_allows ... ok
[INFO] [stdout] test tests::type_id_allowlist_blocks ... ok
[INFO] [stdout] test tests::u_frame_with_valid_function_passes ... ok
[INFO] [stdout] test tests::u_frame_without_function_rejected_by_inspect ... ok
[INFO] [stdout] test tests::wildcard_rule ... ok
[INFO] [stdout] test tests::write_protection_allows_read ... ok
[INFO] [stdout] test tests::write_protection_blocks_command ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 36 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 51 tests
[INFO] [stdout] test tests::add_mms_rule_resource_exhaustion ... ok
[INFO] [stdout] test tests::add_goose_publisher_resource_exhaustion ... ok
[INFO] [stdout] test tests::cb_hijack_alerts_when_different_mac_publishes_reserved_block ... ok
[INFO] [stdout] test tests::cb_hijack_clears_after_cancel_control ... ok
[INFO] [stdout] test tests::cb_hijack_unreserved_block_is_unaffected ... ok
[INFO] [stdout] test tests::goose_forward_progress_ok ... ok
[INFO] [stdout] test tests::goose_publisher_allowlist_allows_known ... ok
[INFO] [stdout] test tests::goose_publisher_allowlist_blocks_unknown ... ok
[INFO] [stdout] test tests::goose_replay_does_not_auto_resync_sq_num ... ok
[INFO] [stdout] test tests::goose_replay_does_not_auto_resync_st_num ... ok
[INFO] [stdout] test tests::goose_replay_exact_duplicate ... ok
[INFO] [stdout] test tests::goose_replay_st_num_backwards ... ok
[INFO] [stdout] test tests::goose_test_flag_allowed_when_disabled ... ok
[INFO] [stdout] test tests::goose_test_flag_blocked ... ok
[INFO] [stdout] test tests::mms_global_write_allows_read ... ok
[INFO] [stdout] test tests::mms_global_write_protection ... ok
[INFO] [stdout] test tests::mms_per_rule_write_protection ... ok
[INFO] [stdout] test tests::mms_rate_limiting ... ok
[INFO] [stdout] test tests::goose_replay_tracker_keyed_on_gocb_ref ... ok
[INFO] [stdout] test tests::mms_service_is_write ... ok
[INFO] [stdout] test tests::goose_retransmission_sq_increase ... ok
[INFO] [stdout] test tests::mms_service_mask_allows ... ok
[INFO] [stdout] test tests::mms_service_mask_blocks_disallowed ... ok
[INFO] [stdout] test tests::mms_service_type_from_u8 ... ok
[INFO] [stdout] test tests::mms_strict_no_rule_match ... ok
[INFO] [stdout] test tests::monitor_reset_clears_counters ... ok
[INFO] [stdout] test tests::parse_sv_basic ... ok
[INFO] [stdout] test tests::parse_sv_missing_smp_cnt_rejected ... ok
[INFO] [stdout] test tests::parse_sv_with_vlan_tag ... ok
[INFO] [stdout] test tests::parse_sv_too_short_rejected ... ok
[INFO] [stdout] test tests::parse_sv_truncated_apdu_rejected ... ok
[INFO] [stdout] test tests::parse_sv_wrong_ethertype_rejected ... ok
[INFO] [stdout] test tests::retx_interval_out_of_tolerance_alerts ... ok
[INFO] [stdout] test tests::retx_interval_within_tolerance_is_clean ... ok
[INFO] [stdout] test tests::retx_schedule_disabled_does_not_alert ... ok
[INFO] [stdout] test tests::retx_schedule_expected_intervals_double ... ok
[INFO] [stdout] test tests::sv_clean_first_sighting_allowed ... ok
[INFO] [stdout] test tests::sv_ied_match_allowed ... ok
[INFO] [stdout] test tests::sv_ied_mismatch_blocked ... ok
[INFO] [stdout] test tests::sv_rate_anomaly_excess_gap ... ok
[INFO] [stdout] test tests::sv_smp_cnt_replay_duplicate_alerts ... ok
[INFO] [stdout] test tests::sv_smp_cnt_backwards_step_alerts ... ok
[INFO] [stdout] test tests::sv_smp_cnt_wrap_around_is_clean ... ok
[INFO] [stdout] test tests::sv_smp_rate_mismatch_alerts ... ok
[INFO] [stdout] test tests::sv_strict_blocks_unregistered_svid ... ok
[INFO] [stdout] test tests::time_sync_absent_t_field_is_skipped ... ok
[INFO] [stdout] test tests::time_sync_applies_to_sv_too ... ok
[INFO] [stdout] test tests::time_sync_fraction_backwards_alerts ... ok
[INFO] [stdout] test tests::time_sync_large_forward_jump_alerts ... ok
[INFO] [stdout] test tests::time_sync_monotonic_regression_alerts ... ok
[INFO] [stdout] test tests::time_sync_small_forward_step_is_clean ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 51 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 70 tests
[INFO] [stdout] test tests::acknowledge_tamper_clears_latch_and_callback_can_fire_again ... ok
[INFO] [stdout] test tests::active_region_count_after_multiple_register_unregister_cycles ... ok
[INFO] [stdout] test tests::base_addr_mismatch_returns_error ... ok
[INFO] [stdout] test tests::capacity_limit ... ok
[INFO] [stdout] test tests::constant_time_eq_completely_different ... ok
[INFO] [stdout] test tests::constant_time_eq_first_byte_differs ... ok
[INFO] [stdout] test tests::constant_time_eq_middle_byte_differs ... ok
[INFO] [stdout] test tests::detect_length_change ... ok
[INFO] [stdout] test tests::duplicate_id_rejected ... ok
[INFO] [stdout] test tests::epoch_increments_on_verify_all ... ok
[INFO] [stdout] test tests::from_snapshot_with_expected_key_rejects_unauthenticated ... ok
[INFO] [stdout] test tests::constant_time_eq_differing_in_last_byte_return_false ... ok
[INFO] [stdout] test tests::get_region_returns_correct_metadata ... ok
[INFO] [stdout] test tests::constant_time_eq_identical_arrays_return_true ... ok
[INFO] [stdout] test tests::counter_saturation_returns_error ... ok
[INFO] [stdout] test tests::detect_single_byte_tamper ... ok
[INFO] [stdout] test tests::last_verified_epoch_tracks_per_region ... ok
[INFO] [stdout] test tests::measurement_counter_increments ... ok
[INFO] [stdout] test tests::measurement_counter_no_increment_on_crypto_error ... ok
[INFO] [stdout] test tests::register_and_verify_intact ... ok
[INFO] [stdout] test tests::register_unregister_reregister_same_id ... ok
[INFO] [stdout] test tests::snapshot_and_restore_roundtrip ... ok
[INFO] [stdout] test tests::slot_reuse_after_unregister_at_capacity ... ok
[INFO] [stdout] test tests::slot_reuse_does_not_leak_old_capacity ... ok
[INFO] [stdout] test tests::snapshot_forgery_with_zero_hmac_rejected ... ok
[INFO] [stdout] test tests::snapshot_authenticated_has_authenticated_true ... ok
[INFO] [stdout] test tests::measurement_counter_no_increment_on_length_mismatch ... ok
[INFO] [stdout] test tests::clear_all_resets_everything ... ok
[INFO] [stdout] test tests::constant_time_eq_all_ones ... ok
[INFO] [stdout] test tests::snapshot_key_substitution_rejected_with_expected_key ... ok
[INFO] [stdout] test tests::nonexistent_region_returns_error ... ok
[INFO] [stdout] test tests::constant_time_eq_all_zeros ... ok
[INFO] [stdout] test tests::snapshot_tampered_hmac_rejected ... ok
[INFO] [stdout] test tests::snapshot_unauthenticated_has_authenticated_false ... ok
[INFO] [stdout] test tests::tamper_callback_fires_on_tamper ... ok
[INFO] [stdout] test tests::tamper_callback_not_called_on_ok ... ok
[INFO] [stdout] test tests::snapshot_hmac_differs_when_auth_key_id_differs ... ok
[INFO] [stdout] test tests::tamper_callback_only_fires_once_until_acknowledged ... ok
[INFO] [stdout] test tests::test_crypto_aes_gcm_bad_tag_rejected ... ok
[INFO] [stdout] test tests::test_crypto_aes_gcm_roundtrip ... ok
[INFO] [stdout] test tests::test_crypto_hmac_key_dependent ... ok
[INFO] [stdout] test tests::test_crypto_random_bytes_deterministic ... ok
[INFO] [stdout] test tests::test_crypto_random_bytes_fills_buffer ... ok
[INFO] [stdout] test tests::test_crypto_sign_verify_roundtrip ... ok
[INFO] [stdout] test tests::tick_disabled_when_interval_zero ... ok
[INFO] [stdout] test tests::tick_fires_at_interval ... ok
[INFO] [stdout] test tests::two_regions_different_data_verify_independently ... ok
[INFO] [stdout] test tests::unregister_nonexistent_region_returns_error ... ok
[INFO] [stdout] test tests::unregister_prevents_old_data_verification ... ok
[INFO] [stdout] test tests::unregister_region ... ok
[INFO] [stdout] test tests::update_baseline_with_invalid_auth ... ok
[INFO] [stdout] test tests::update_baseline_with_valid_auth ... ok
[INFO] [stdout] test tests::update_baseline_without_auth_key_ignores_tag ... ok
[INFO] [stdout] test tests::verify_all_detects_partial_tamper ... ok
[INFO] [stdout] test tests::verify_all_fast_all_ok ... ok
[INFO] [stdout] test tests::verify_all_fast_detects_length_mismatch ... ok
[INFO] [stdout] test tests::verify_all_fast_no_regions_returns_true ... ok
[INFO] [stdout] test tests::verify_all_fast_stops_on_first_tamper ... ok
[INFO] [stdout] test tests::verify_all_fast_stops_on_unavailable ... ok
[INFO] [stdout] test tests::update_baseline ... ok
[INFO] [stdout] test tests::update_baseline_missing_tag_when_auth_required ... ok
[INFO] [stdout] test tests::verify_all_rejects_small_buffer ... ok
[INFO] [stdout] test tests::verify_all_regions ... ok
[INFO] [stdout] test tests::verify_all_with_empty_data_provider ... ok
[INFO] [stdout] test tests::verify_region_with_all_zero_data ... ok
[INFO] [stdout] test tests::verify_region_with_max_size_data ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vs_key_manager-14da430cffbaae9c)
[INFO] [stdout] test tests::test_crypto_ecdh ... ok
[INFO] [stdout] test tests::verify_all_empty_buffer_with_active_regions ... ok
[INFO] [stdout] test tests::test_crypto_hmac_data_dependent ... ok
[INFO] [stdout] test tests::update_baseline_nonexistent_region_returns_error ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 70 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 88 tests
[INFO] [stdout] test tests::audit_count_never_advances_on_crypto_failure ... ok
[INFO] [stdout] test tests::audit_integrity_detects_tampering ... ok
[INFO] [stdout] test tests::audit_iter_chronological_order ... ok
[INFO] [stdout] test tests::audit_entry_out_of_bounds ... ok
[INFO] [stdout] test tests::audit_iter_empty ... ok
[INFO] [stdout] test tests::audit_iter_exact_size ... ok
[INFO] [stdout] test tests::audit_iter_after_wrap ... ok
[INFO] [stdout] test tests::audit_trail_records_events ... ok
[INFO] [stdout] test tests::audit_integrity_after_wrap ... ok
[INFO] [stdout] test tests::audit_log_capacity_wrap_verification ... ok
[INFO] [stdout] test tests::audit_integrity_check ... ok
[INFO] [stdout] test tests::autosar_keym_interface ... ok
[INFO] [stdout] test tests::audit_integrity_after_wrap_detects_tampering ... ok
[INFO] [stdout] test tests::audit_ring_buffer_wraps ... ok
[INFO] [stdout] test tests::autosar_keym_start ... ok
[INFO] [stdout] test tests::autosar_keym_finalize_zeroizes_all ... ok
[INFO] [stdout] test tests::autosar_keym_update_nonexistent_key_fails ... ok
[INFO] [stdout] test tests::crypto_provider_accessible ... ok
[INFO] [stdout] test tests::debug_output_redacts_key_material ... ok
[INFO] [stdout] test tests::expected_key_len_matches_algorithms ... ok
[INFO] [stdout] test tests::generate_key_out_of_range_fails ... ok
[INFO] [stdout] test tests::generate_key_crypto_failure_aborts_without_mutation ... ok
[INFO] [stdout] test tests::expired_key_is_invalid ... ok
[INFO] [stdout] test tests::generate_key_provisions_with_random_material ... ok
[INFO] [stdout] test tests::generate_key_into_active_slot_fails ... ok
[INFO] [stdout] test tests::generate_key_aes128 ... ok
[INFO] [stdout] test tests::generate_key_records_audit_event ... ok
[INFO] [stdout] test tests::generate_key_into_revoked_slot_fails ... ok
[INFO] [stdout] test tests::generate_key_with_invalid_timestamps_fails ... ok
[INFO] [stdout] test tests::get_key_material_checks_expiry ... ok
[INFO] [stdout] test tests::get_metadata_on_revoked_key ... ok
[INFO] [stdout] test tests::get_key_material_out_of_range_returns_not_found ... ok
[INFO] [stdout] test tests::get_key_material_for_out_of_range_returns_not_found ... ok
[INFO] [stdout] test tests::key_algorithm_and_purpose_enum_coverage ... ok
[INFO] [stdout] test tests::get_nonexistent_key_returns_none ... ok
[INFO] [stdout] test tests::get_key_material_for_validates_purpose_and_expiry ... ok
[INFO] [stdout] test tests::get_metadata_empty_slot_returns_none ... ok
[INFO] [stdout] test tests::key_metadata_partial_eq ... ok
[INFO] [stdout] test tests::key_with_no_expiry_always_valid ... ok
[INFO] [stdout] test tests::key_validity_at_exact_expiry ... ok
[INFO] [stdout] test tests::key_out_of_range ... ok
[INFO] [stdout] test tests::keym_finalize_zeroizes_metadata ... ok
[INFO] [stdout] test tests::keym_start_fresh_manager_passes ... ok
[INFO] [stdout] test tests::keym_key_generate_works ... ok
[INFO] [stdout] test tests::key_out_of_bounds_id ... ok
[INFO] [stdout] test tests::keym_start_after_provision_passes ... ok
[INFO] [stdout] test tests::key_expiry_boundary_exactly_at_expiry ... ok
[INFO] [stdout] test tests::max_rotation_count_none_allows_many ... ok
[INFO] [stdout] test tests::keym_start_healthy_returns_true ... ok
[INFO] [stdout] test tests::nonce_count_persists_across_rotation ... ok
[INFO] [stdout] test tests::max_rotation_count_enforced ... ok
[INFO] [stdout] test tests::provision_key_crypto_failure_aborts_without_mutation ... ok
[INFO] [stdout] test tests::provision_key_zeroizing_clears_source ... ok
[INFO] [stdout] test tests::provision_key_zeroizing_clears_source_on_failure ... ok
[INFO] [stdout] test tests::max_rotation_count_zero_blocks_all_rotations ... ok
[INFO] [stdout] test tests::provision_revoked_slot_fails ... ok
[INFO] [stdout] test tests::provision_rotate_revoke_lifecycle ... ok
[INFO] [stdout] test tests::provision_all_64_slots_then_65th_fails ... ok
[INFO] [stdout] test tests::provision_and_get ... ok
[INFO] [stdout] test tests::provision_rotate_different_slots_concurrently ... ok
[INFO] [stdout] test tests::provision_with_empty_key_material_rejected ... ok
[INFO] [stdout] test tests::provision_with_all_zero_key_material_rejected ... ok
[INFO] [stdout] test tests::provision_with_expires_before_created_rejected ... ok
[INFO] [stdout] test tests::provision_with_expires_equal_created_rejected ... ok
[INFO] [stdout] test tests::provision_with_mismatched_key_id_rejected ... ok
[INFO] [stdout] test tests::provision_with_uniform_key_material_rejected ... ok
[INFO] [stdout] test tests::provision_with_wrong_key_length_rejected ... ok
[INFO] [stdout] test tests::revoke_key_crypto_failure_aborts_without_mutation ... ok
[INFO] [stdout] test tests::record_nonce_usage_rejects_empty_slot ... ok
[INFO] [stdout] test tests::record_nonce_usage_increments_counter ... ok
[INFO] [stdout] test tests::rotate_allowed_when_nonce_count_at_limit ... ok
[INFO] [stdout] test tests::revoked_key_cannot_be_reprovisioned ... ok
[INFO] [stdout] test tests::record_nonce_usage_overflow_returns_error ... ok
[INFO] [stdout] test tests::revoke_then_is_key_valid_returns_false ... ok
[INFO] [stdout] test tests::rotate_blocked_when_nonce_space_exhausted ... ok
[INFO] [stdout] test tests::record_nonce_usage_rejects_revoked_key ... ok
[INFO] [stdout] test tests::rotate_expired_key_fails ... ok
[INFO] [stdout] test tests::rotate_key_three_times ... ok
[INFO] [stdout] test tests::rotate_key_crypto_failure_preserves_existing_key ... ok
[INFO] [stdout] test tests::rotate_key_updates_timestamps ... ok
[INFO] [stdout] test tests::rotate_aes128_with_correct_length_succeeds ... ok
[INFO] [stdout] test tests::rotate_revoked_key_fails ... ok
[INFO] [stdout] test tests::rotate_nonexistent_key_fails ... ok
[INFO] [stdout] test tests::tick_with_no_expiring_keys ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vs_lora_monitor-77eeac635568aa6f)
[INFO] [stdout] test tests::with_key_material_expired_fails ... ok
[INFO] [stdout] test tests::rotate_with_wrong_key_length_rejected ... ok
[INFO] [stdout] test tests::with_key_material_callback ... ok
[INFO] [stdout] test tests::with_key_material_for_validates_purpose ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 88 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 68 tests
[INFO] [stdout] test join::tests::data_frame_dir_mismatch_rejected ... ok
[INFO] [stdout] test join::tests::data_frame_valid_mic_allowed ... ok
[INFO] [stdout] test join::tests::data_frame_mic_corruption_rejected ... ok
[INFO] [stdout] test join::tests::data_frame_wrong_fcnt_breaks_mic ... ok
[INFO] [stdout] test join::tests::data_frame_too_short_rejected ... ok
[INFO] [stdout] test join::tests::dev_nonce_isolated_per_dev_eui ... ok
[INFO] [stdout] test join::tests::join_accept_too_short_rejected ... ok
[INFO] [stdout] test join::tests::join_accept_v1_0_random_repeat_rejected ... ok
[INFO] [stdout] test join::tests::join_accept_v1_1_monotonic_violation_rejected ... ok
[INFO] [stdout] test join::tests::join_request_bad_mtype_rejected ... ok
[INFO] [stdout] test join::tests::join_accept_mic_mismatch_rejected ... ok
[INFO] [stdout] test join::tests::join_request_mic_corruption_rejected ... ok
[INFO] [stdout] test join::tests::join_request_mic_replay_does_not_record_dev_nonce ... ok
[INFO] [stdout] test join::tests::dev_nonce_ring_buffer_eviction_works ... ok
[INFO] [stdout] test join::tests::join_request_distinct_dev_nonces_allowed ... ok
[INFO] [stdout] test join::tests::join_request_replayed_dev_nonce_rejected ... ok
[INFO] [stdout] test join::tests::join_request_too_short_rejected ... ok
[INFO] [stdout] test join::tests::join_request_valid_mic_allowed ... ok
[INFO] [stdout] test join::tests::reset_clears_all_tracking ... ok
[INFO] [stdout] test tests::adr_excessive_changes_flagged ... ok
[INFO] [stdout] test tests::adr_normal_changes_not_anomalous ... ok
[INFO] [stdout] test tests::adr_same_rate_not_counted ... ok
[INFO] [stdout] test tests::adr_window_reset ... ok
[INFO] [stdout] test tests::alert_ids_nonzero ... ok
[INFO] [stdout] test tests::alerts_dropped_counter_accessible ... ok
[INFO] [stdout] test tests::allow_overrides_deny ... ok
[INFO] [stdout] test tests::block_alert_has_correct_source_id ... ok
[INFO] [stdout] test tests::block_rule ... ok
[INFO] [stdout] test tests::downlink_first_then_uplink_counter_zero_not_replay ... ok
[INFO] [stdout] test tests::deny_default_blocks ... ok
[INFO] [stdout] test tests::downlink_replay_detected ... ok
[INFO] [stdout] test tests::default_allows ... ok
[INFO] [stdout] test tests::default_constructor ... ok
[INFO] [stdout] test tests::duty_cycle_exceeded ... ok
[INFO] [stdout] test tests::join_flood_detection ... ok
[INFO] [stdout] test tests::duty_cycle_normal_usage ... ok
[INFO] [stdout] test tests::duty_cycle_window_reset ... ok
[INFO] [stdout] test tests::lru_eviction_preserves_cross_direction_sentinels ... ok
[INFO] [stdout] test tests::join_accept_does_not_trigger_flood_check ... ok
[INFO] [stdout] test tests::monitor_reset_clears_runtime_state ... ok
[INFO] [stdout] test tests::normal_timestamps_no_alert ... ok
[INFO] [stdout] test tests::per_device_window_forward_jump_within_window_accepts ... ok
[INFO] [stdout] test tests::per_device_window_forward_jump_beyond_window_rejected ... ok
[INFO] [stdout] test tests::join_request_triggers_flood_but_accept_does_not ... ok
[INFO] [stdout] test tests::join_flood_alert_has_correct_source_id ... ok
[INFO] [stdout] test tests::monitor_reset_preserves_rules ... ok
[INFO] [stdout] test tests::monitor_reset_preserves_thresholds ... ok
[INFO] [stdout] test tests::per_device_window_in_order_accept ... ok
[INFO] [stdout] test tests::per_device_window_isolated_across_devices ... ok
[INFO] [stdout] test tests::per_device_window_lru_eviction_works ... ok
[INFO] [stdout] test tests::per_device_window_rollover_when_enabled_accepts ... ok
[INFO] [stdout] test tests::remove_rule_works ... ok
[INFO] [stdout] test tests::per_device_window_old_frame_below_window_rejected ... ok
[INFO] [stdout] test tests::replay_alert_has_correct_source_id ... ok
[INFO] [stdout] test tests::per_device_window_replay_within_window_rejected ... ok
[INFO] [stdout] test tests::reset_device_session_allows_counter_restart ... ok
[INFO] [stdout] test tests::per_device_window_rollover_when_disabled_rejects ... ok
[INFO] [stdout] test tests::start_new_session_resets_counters ... ok
[INFO] [stdout] test tests::replay_detection ... ok
[INFO] [stdout] test tests::start_new_session_for_unknown_device ... ok
[INFO] [stdout] test tests::stats_tracking ... ok
[INFO] [stdout] test tests::start_new_session_increments_session_id ... ok
[INFO] [stdout] test tests::start_new_session_then_counter_zero_allowed ... ok
[INFO] [stdout] test tests::table_exhaustion_granularity_tracked ... ok
[INFO] [stdout] test tests::timestamp_anomaly_generates_alert ... ok
[INFO] [stdout] test tests::session_table_exhaustion_emits_alert ... ok
[INFO] [stdout] test tests::uplink_and_downlink_counters_independent ... ok
[INFO] [stdout] test tests::uplink_first_then_downlink_counter_zero_not_replay ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 68 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 56 tests
[INFO] [stdout] test tests::alert_ids_nonzero ... ok
[INFO] [stdout] test tests::alert_rate_limited_source ... ok
[INFO] [stdout] test tests::alert_invalid_unit_id_source ... ok
[INFO] [stdout] test tests::alert_register_range_source ... ok
[INFO] [stdout] test tests::alert_source_ids_used ... ok
[INFO] [stdout] test tests::alerts_dropped_counter_accessible ... ok
[INFO] [stdout] test tests::allow_overrides_deny ... ok
[INFO] [stdout] test tests::block_rule ... ok
[INFO] [stdout] test tests::broadcast_read_passes_but_is_rate_limited ... ok
[INFO] [stdout] test tests::broadcast_unit_id_no_invalid_alert ... ok
[INFO] [stdout] test tests::broadcast_write_denied_even_when_explicit_allow_rule_for_unit_zero ... ok
[INFO] [stdout] test tests::clock_anomaly_skips_broadcast_rate_bucket_too ... ok
[INFO] [stdout] test tests::default_allows ... ok
[INFO] [stdout] test tests::broadcast_write_is_denied_globally ... ok
[INFO] [stdout] test tests::clock_anomaly_does_not_refill_rate_bucket ... ok
[INFO] [stdout] test tests::default_constructor ... ok
[INFO] [stdout] test tests::deny_default_blocks ... ok
[INFO] [stdout] test tests::exception_window_reset ... ok
[INFO] [stdout] test tests::exception_below_threshold_no_alert ... ok
[INFO] [stdout] test tests::exception_different_units_independent ... ok
[INFO] [stdout] test tests::exception_flood_triggers_alert ... ok
[INFO] [stdout] test tests::invalid_unit_id_alerts ... ok
[INFO] [stdout] test tests::ip_filter_allow_no_match ... ok
[INFO] [stdout] test tests::ip_filter_block ... ok
[INFO] [stdout] test tests::ip_filter_capacity ... ok
[INFO] [stdout] test tests::ip_filter_exact_match ... ok
[INFO] [stdout] test tests::ip_filter_invalid_prefix_len ... ok
[INFO] [stdout] test tests::ip_filter_overlapping_prefixes_longer_wins ... ok
[INFO] [stdout] test tests::ip_filter_remove ... ok
[INFO] [stdout] test tests::ip_filter_remove_invalid ... ok
[INFO] [stdout] test tests::ip_filter_rtu_ignores_ip ... ok
[INFO] [stdout] test tests::alert_function_policy_source ... ok
[INFO] [stdout] test tests::length_broadcast_not_bypass ... ok
[INFO] [stdout] test tests::length_correct_passes_for_each_fc ... ok
[INFO] [stdout] test tests::length_mismatch_alerts_on_tcp_too ... ok
[INFO] [stdout] test tests::length_mismatch_write_multiple_coils_is_rejected ... ok
[INFO] [stdout] test tests::length_mismatch_write_multiple_registers_is_rejected ... ok
[INFO] [stdout] test tests::monitor_reset_clears_runtime_state ... ok
[INFO] [stdout] test tests::length_zero_opts_out ... ok
[INFO] [stdout] test tests::length_mismatch_read_coils_is_rejected ... ok
[INFO] [stdout] test tests::monitor_reset_preserves_rules ... ok
[INFO] [stdout] test tests::quantity_zero_single_register_write ... ok
[INFO] [stdout] test tests::rate_bucket_exhaustion_allows_traffic ... ok
[INFO] [stdout] test tests::rate_limiting ... ok
[INFO] [stdout] test tests::read_only_policy ... ok
[INFO] [stdout] test tests::register_range_enforcement ... ok
[INFO] [stdout] test tests::remove_rule_works ... ok
[INFO] [stdout] test tests::rtu_source_type ... ok
[INFO] [stdout] test tests::stats_tracking ... ok
[INFO] [stdout] test tests::tcp_inspection ... ok
[INFO] [stdout] test tests::timestamp_validated_in_tcp ... ok
[INFO] [stdout] test tests::timestamp_anomaly_alerts ... ok
[INFO] [stdout] test tests::timestamp_normal_sequence_no_alert ... ok
[INFO] [stdout] test tests::unknown_function_blocked ... ok
[INFO] [stdout] test tests::update_rule_works ... ok
[INFO] [stdout] test tests::write_only_policy ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 56 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vs_modbus_monitor_emb-0b7bdfd0dfccd489)
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vs_modbus_monitor_ind-bffe77837f53d7eb)
[INFO] [stdout] 
[INFO] [stdout] running 30 tests
[INFO] [stdout] test tests::add_rule_rejects_inverted_range ... ok
[INFO] [stdout] test tests::address_allow_rule_blocks_outside_range ... ok
[INFO] [stdout] test tests::address_allow_rule_blocks_partial_span ... ok
[INFO] [stdout] test tests::address_deny_rule_blocks_writes_in_protected_window ... ok
[INFO] [stdout] test tests::allow_function_code_promotes_into_allowlist ... ok
[INFO] [stdout] test tests::counters_increment ... ok
[INFO] [stdout] test tests::diagnostic_query_data_allowed ... ok
[INFO] [stdout] test tests::crc16_known_vector ... ok
[INFO] [stdout] test tests::diagnostic_restart_blocked_when_configured ... ok
[INFO] [stdout] test tests::inspect_protocol_id_nonzero_denied ... ok
[INFO] [stdout] test tests::exception_response_marked_suspicious ... ok
[INFO] [stdout] test tests::parse_protocol_id_nonzero_denied ... ok
[INFO] [stdout] test tests::inspect_zero_pdu_len_denied ... ok
[INFO] [stdout] test tests::parse_length_mismatch_denied ... ok
[INFO] [stdout] test tests::parse_truncated_mbap_denied ... ok
[INFO] [stdout] test tests::reset_clears_counters ... ok
[INFO] [stdout] test tests::fc_mask_helper_skips_high_bytes ... ok
[INFO] [stdout] test tests::parse_valid_read_request_round_trips ... ok
[INFO] [stdout] test tests::read_only_profile_excludes_writes ... ok
[INFO] [stdout] test tests::rtu_skips_crc_check_when_not_provided ... ok
[INFO] [stdout] test tests::rule_capacity_exhaustion ... ok
[INFO] [stdout] test tests::rtu_valid_crc_allowed ... ok
[INFO] [stdout] test tests::strict_mode_blocks_dangerous_diagnostic ... ok
[INFO] [stdout] test tests::rtu_bad_crc_denied ... ok
[INFO] [stdout] test tests::strict_mode_blocks_write_via_default_profile ... ok
[INFO] [stdout] test tests::unknown_function_code_denied ... ok
[INFO] [stdout] test tests::valid_read_allowed ... ok
[INFO] [stdout] test tests::valid_write_allowed_in_permissive ... ok
[INFO] [stdout] test tests::verdict_helpers ... ok
[INFO] [stdout] test tests::write_denied_in_read_only_profile ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 30 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vs_mqtt_monitor-8dcad93c1f4bca6b)
[INFO] [stdout] 
[INFO] [stdout] running 123 tests
[INFO] [stdout] test tests::add_rule_incremental_shadow_returns_zero_when_unshadowed ... ok
[INFO] [stdout] test tests::add_rule_incremental_shadow_returns_one_on_shadowed_addition ... ok
[INFO] [stdout] test tests::add_rule_rejects_empty_pattern_after_clear ... ok
[INFO] [stdout] test tests::add_rule_rejects_empty_pattern ... ok
[INFO] [stdout] test tests::add_rule_accepts_exactly_three_plus_wildcards ... ok
[INFO] [stdout] test tests::add_rule_accepts_root_pattern ... ok
[INFO] [stdout] test tests::add_rule_rejects_more_than_three_plus_wildcards ... ok
[INFO] [stdout] test tests::add_rule_rejects_four_plus_in_realistic_pattern ... ok
[INFO] [stdout] test tests::add_rule_rejects_oversized_pattern ... ok
[INFO] [stdout] test tests::add_rule_update_in_place_reports_only_against_earlier ... ok
[INFO] [stdout] test tests::alert_source_ids_are_named_constants ... ok
[INFO] [stdout] test tests::add_rule_rejects_when_full ... ok
[INFO] [stdout] test tests::blocked_topic_alert_uses_correct_source_id ... ok
[INFO] [stdout] test tests::alerts_dropped_counter_increments_on_overflow ... ok
[INFO] [stdout] test tests::clear_rules_works ... ok
[INFO] [stdout] test tests::connack_passes_without_topic_check ... ok
[INFO] [stdout] test tests::connect_storm_alert_uses_correct_source_id ... ok
[INFO] [stdout] test tests::client_hashes_distinguishes_distinct_clients ... ok
[INFO] [stdout] test tests::alert_ids_are_unique_and_incrementing ... ok
[INFO] [stdout] test tests::connect_client_lru_eviction_recycles_oldest ... ok
[INFO] [stdout] test tests::clear_rules_mid_traffic_no_corruption ... ok
[INFO] [stdout] test tests::connect_storm_anonymous_clients_share_bucket ... ok
[INFO] [stdout] test tests::connect_storm_distinct_clients_independent ... ok
[INFO] [stdout] test tests::alert_overflow_capped_at_4 ... ok
[INFO] [stdout] test tests::connect_storm_detected ... ok
[INFO] [stdout] test tests::connect_storm_keyed_per_client ... ok
[INFO] [stdout] test tests::connect_storm_window_expiry ... ok
[INFO] [stdout] test tests::connect_storm_threshold_exactly_at_boundary ... ok
[INFO] [stdout] test tests::connect_storm_window_upper_bound_clamped ... ok
[INFO] [stdout] test tests::connect_window_overflow_shifts_oldest ... ok
[INFO] [stdout] test tests::contains_invalid_publish_char_helper ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vs_netfw-8583fa9f7f4bbe3a)
[INFO] [stdout] test tests::default_allow_policy ... ok
[INFO] [stdout] test tests::disconnect_passes_without_topic_check ... ok
[INFO] [stdout] test tests::deny_default_policy ... ok
[INFO] [stdout] test tests::default_constructor ... ok
[INFO] [stdout] test tests::ewma_no_alert_during_warmup ... ok
[INFO] [stdout] test tests::ewma_no_alert_for_proportional_payload ... ok
[INFO] [stdout] test tests::empty_topic_empty_pattern ... ok
[INFO] [stdout] test tests::empty_topic_rejected ... ok
[INFO] [stdout] test tests::ewma_ceiling_prevents_drift ... ok
[INFO] [stdout] test tests::ewma_tracker_lru_eviction_no_panic ... ok
[INFO] [stdout] test tests::ewma_tracker_matches_topic_with_different_lengths ... ok
[INFO] [stdout] test tests::exact_match_no_wildcard ... ok
[INFO] [stdout] test tests::exact_topic_match ... ok
[INFO] [stdout] test tests::ewma_detects_anomalous_payload ... ok
[INFO] [stdout] test tests::exact_topic_mismatch ... ok
[INFO] [stdout] test tests::explicit_allow_overrides_deny_default ... ok
[INFO] [stdout] test tests::explicit_block_rule ... ok
[INFO] [stdout] test tests::fnv_hash_deterministic ... ok
[INFO] [stdout] test tests::fnv_hash_different_inputs ... ok
[INFO] [stdout] test tests::hash_alone_matches_empty ... ok
[INFO] [stdout] test tests::inspect_default_allow_unmatched_topic_passes_through ... ok
[INFO] [stdout] test tests::is_broad_wildcard_subscribe_helper ... ok
[INFO] [stdout] test tests::hash_at_root ... ok
[INFO] [stdout] test tests::monitor_reset_clears_connect_storm_state ... ok
[INFO] [stdout] test tests::monitor_reset_preserves_rules_clears_state ... ok
[INFO] [stdout] test tests::multi_level_wildcard ... ok
[INFO] [stdout] test tests::multiple_rules_first_match_wins ... ok
[INFO] [stdout] test tests::next_alert_id_skips_zero ... ok
[INFO] [stdout] test tests::payload_hash_all_bytes_populated ... ok
[INFO] [stdout] test tests::non_monotonic_timestamp_no_panic ... ok
[INFO] [stdout] test tests::payload_hash_populated_on_block ... ok
[INFO] [stdout] test tests::payload_hash_zero_for_empty_payload ... ok
[INFO] [stdout] test tests::ping_passes_without_topic_check ... ok
[INFO] [stdout] test tests::publish_to_dollar_topic_is_not_affected_by_subscribe_check ... ok
[INFO] [stdout] test tests::publish_topic_with_hash_wildcard_rejected ... ok
[INFO] [stdout] test tests::publish_topic_with_nul_byte_rejected ... ok
[INFO] [stdout] test tests::qos_any_policy_accepts_all ... ok
[INFO] [stdout] test tests::qos_exact_policy ... ok
[INFO] [stdout] test tests::qos_min_policy_fail ... ok
[INFO] [stdout] test tests::publish_topic_with_plus_wildcard_rejected ... ok
[INFO] [stdout] test tests::qos_violation_is_advisory_not_blocking ... ok
[INFO] [stdout] test tests::qos_violation_alert_uses_correct_source_id ... ok
[INFO] [stdout] test tests::payload_hash_deterministic ... ok
[INFO] [stdout] test tests::rate_bucket_expires_and_is_reused ... ok
[INFO] [stdout] test tests::qos_min_policy_pass ... ok
[INFO] [stdout] test tests::rate_bucket_matches_topic_with_different_lengths ... ok
[INFO] [stdout] test tests::rate_limit_bucket_exhaustion_alert ... ok
[INFO] [stdout] test tests::rate_limit_blocks_excess ... ok
[INFO] [stdout] test tests::rate_limit_different_topics_independent ... ok
[INFO] [stdout] test tests::rate_limit_lru_eviction_subsequent_message_can_be_allowed_after_refill ... ok
[INFO] [stdout] test tests::rate_limit_no_duplicate_bucket_after_lru_eviction ... ok
[INFO] [stdout] test tests::rate_limit_refills_over_time ... ok
[INFO] [stdout] test tests::rate_limit_with_zero_max_rate_is_unlimited ... ok
[INFO] [stdout] test tests::rate_limit_lru_eviction_denies_attacker_who_cycles_topics ... ok
[INFO] [stdout] test tests::rate_limit_not_applied_to_subscribe ... ok
[INFO] [stdout] test tests::remove_rule_invalid_index ... ok
[INFO] [stdout] test tests::remove_rule_works ... ok
[INFO] [stdout] test tests::single_level_wildcard ... ok
[INFO] [stdout] test tests::starts_with_dollar_helper ... ok
[INFO] [stdout] test tests::subscribe_blocked_topic ... ok
[INFO] [stdout] test tests::subscribe_to_broad_wildcard_hash_emits_medium_alert ... ok
[INFO] [stdout] test tests::subscribe_to_broad_wildcard_plus_emits_medium_alert ... ok
[INFO] [stdout] test tests::subscribe_to_dollar_share_without_rule_is_denied ... ok
[INFO] [stdout] test tests::subscribe_to_broad_wildcard_plus_hash_emits_medium_alert ... ok
[INFO] [stdout] test tests::subscribe_to_dollar_sys_with_block_rule_is_still_denied_via_dollar_check ... ok
[INFO] [stdout] test tests::subscribe_to_dollar_sys_with_explicit_allow_rule_is_permitted ... ok
[INFO] [stdout] test tests::subscribe_to_dollar_sys_without_rule_is_denied ... ok
[INFO] [stdout] test tests::subscribe_with_wildcard_topic_not_flagged_as_invalid_chars ... ok
[INFO] [stdout] test tests::subscribe_to_narrow_wildcard_does_not_emit_broad_alert ... ok
[INFO] [stdout] test tests::timestamp_anomaly_large_backward_jump ... ok
[INFO] [stdout] test tests::timestamp_normal_no_alert ... ok
[INFO] [stdout] test tests::set_connect_storm_params_clamping ... ok
[INFO] [stdout] test tests::timestamp_anomaly_large_forward_jump ... ok
[INFO] [stdout] test tests::topic_matches_exact ... ok
[INFO] [stdout] test tests::topic_matches_hash_alone ... ok
[INFO] [stdout] test tests::topic_matches_plus_no_trailing_hash_no_extra ... ok
[INFO] [stdout] test tests::topic_matches_multi_level_wildcard_matches_parent ... ok
[INFO] [stdout] test tests::topic_matches_plus_then_hash_matches_deep ... ok
[INFO] [stdout] test tests::topic_matches_plus_then_hash_matches_single_level ... ok
[INFO] [stdout] test tests::unsubscribe_checked_against_rules ... ok
[INFO] [stdout] test tests::topic_matches_plus_single_level ... ok
[INFO] [stdout] test tests::validate_rules_detects_shadowed ... ok
[INFO] [stdout] test tests::validate_rules_no_shadow ... ok
[INFO] [stdout] test tests::validate_rules_returns_u16 ... ok
[INFO] [stdout] test tests::validate_rules_still_reports_total_shadowed_count ... ok
[INFO] [stdout] test tests::wildcard_hash_without_slash_rejected ... ok
[INFO] [stdout] test tests::wildcard_hash_not_last_rejected ... ok
[INFO] [stdout] test tests::wildcard_multiple_plus ... ok
[INFO] [stdout] test tests::wildcard_plus_at_start ... ok
[INFO] [stdout] test tests::wildcard_plus_mid_level_rejected ... ok
[INFO] [stdout] test tests::wildcard_plus_at_end ... ok
[INFO] [stdout] test tests::stats_tracking ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 123 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 64 tests
[INFO] [stdout] test tests::allow_rule_returns_allow ... ok
[INFO] [stdout] test tests::combined_l2_l3_l4_rule ... ok
[INFO] [stdout] test tests::conn_tracker_evicts_oldest_when_full ... ok
[INFO] [stdout] test tests::conn_tracker_non_monotonic_timestamp_does_not_roll_back ... ok
[INFO] [stdout] test tests::conn_tracker_tracks_and_expires ... ok
[INFO] [stdout] test tests::connection_tracker_basic_insert_and_lookup ... ok
[INFO] [stdout] test tests::default_deny_when_no_rule_matches ... ok
[INFO] [stdout] test tests::drop_rule_returns_drop_and_increments_counter ... ok
[INFO] [stdout] test tests::drop_counter_increments_for_each_dropped_packet ... ok
[INFO] [stdout] test tests::duplicate_dynamic_rule_id_rejected ... ok
[INFO] [stdout] test tests::duplicate_rule_id_rejected ... ok
[INFO] [stdout] test tests::dynamic_block_rule_applied_to_matching_packet ... ok
[INFO] [stdout] test tests::dynamic_rule_with_no_expiry_via_static_add_never_expires ... ok
[INFO] [stdout] test tests::expire_removes_only_expired_rules_keeps_active_ones ... ok
[INFO] [stdout] test tests::expired_rule_no_longer_matches ... ok
[INFO] [stdout] test tests::first_match_semantics_lowest_priority_number_wins ... ok
[INFO] [stdout] test tests::first_allow_second_drop_allow_wins_by_priority ... ok
[INFO] [stdout] test tests::inactive_rule_is_skipped ... ok
[INFO] [stdout] test tests::expired_rule_slot_is_reused ... ok
[INFO] [stdout] test tests::l3_rule_matches_by_dst_ip ... ok
[INFO] [stdout] test tests::l3_rule_matches_by_src_ip ... ok
[INFO] [stdout] test tests::l3_rule_on_non_ip_packet_does_not_match ... ok
[INFO] [stdout] test tests::insert_128_rules_full_capacity_129th_fails ... ok
[INFO] [stdout] test tests::insert_rule_maintains_priority_sort_order ... ok
[INFO] [stdout] test tests::l3_rule_matches_by_protocol ... ok
[INFO] [stdout] test tests::l4_rule_matches_by_src_port ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vs_opcua_monitor-aea92a820695f335)
[INFO] [stdout] test tests::l4_rule_matches_by_dst_port ... ok
[INFO] [stdout] test tests::rate_limiter_allows_exactly_n_packets_per_second ... ok
[INFO] [stdout] test tests::rate_limiter_very_high_limit_allows_everything ... ok
[INFO] [stdout] test tests::rate_limiter_bucket_freed_on_rule_removal ... ok
[INFO] [stdout] test tests::log_callback_is_invoked ... ok
[INFO] [stdout] test tests::log_rule_returns_log ... ok
[INFO] [stdout] test tests::multiple_dynamic_rules_with_different_expiries ... ok
[INFO] [stdout] test tests::rate_limiter_zero_packets_per_second_blocks_everything ... ok
[INFO] [stdout] test tests::remove_rule_frees_slot ... ok
[INFO] [stdout] test tests::rule_with_specific_ethertype_matches_only_that_ethertype ... ok
[INFO] [stdout] test tests::rule_matching_by_service_id_via_ethertype ... ok
[INFO] [stdout] test tests::rule_with_specific_src_mac_matches_only_that_mac ... ok
[INFO] [stdout] test tests::rule_with_specific_dst_mac_matches_only_that_mac ... ok
[INFO] [stdout] test tests::remove_rule_reclaims_slot_for_new_rule ... ok
[INFO] [stdout] test tests::rule_hits_tracks_matches ... ok
[INFO] [stdout] test tests::rule_capacity_reports_active_count ... ok
[INFO] [stdout] test tests::rule_capacity_limit ... ok
[INFO] [stdout] test tests::security_connection_timeout_constant_is_5_seconds ... ok
[INFO] [stdout] test tests::security_default_deny_no_rules_blocks_all ... ok
[INFO] [stdout] test tests::security_default_deny_unmatched_packet_blocked ... ok
[INFO] [stdout] test tests::security_drop_counter_increments_on_default_deny ... ok
[INFO] [stdout] test tests::security_firewall_rule_capacity_limit ... ok
[INFO] [stdout] test tests::security_tcp_rst_in_wrong_state_does_not_establish ... ok
[INFO] [stdout] test tests::tcp_fin_from_same_direction_does_not_close ... ok
[INFO] [stdout] test tests::tcp_full_handshake_and_teardown ... ok
[INFO] [stdout] test tests::tcp_fin_from_server_requires_client_ack_to_close ... ok
[INFO] [stdout] test tests::tcp_multiple_connections_tracked_independently ... ok
[INFO] [stdout] test tests::tcp_get_state_works_from_reverse_direction ... ok
[INFO] [stdout] test tests::tcp_non_syn_without_existing_entry_returns_closed ... ok
[INFO] [stdout] test tests::tcp_rst_closes_connection ... ok
[INFO] [stdout] test tests::tcp_state_tracker_timeout ... ok
[INFO] [stdout] test tests::update_rule_changes_action_and_priority ... ok
[INFO] [stdout] test tests::update_rule_duplicate_priority_is_rejected ... ok
[INFO] [stdout] test tests::update_rule_nonexistent_returns_error ... ok
[INFO] [stdout] test tests::update_rule_priority_change_resorts_and_evaluates_correctly ... ok
[INFO] [stdout] test tests::vlan_rule_matches_only_correct_vlan ... ok
[INFO] [stdout] test tests::update_rule_priority_unchanged_is_noop_not_self_conflict ... ok
[INFO] [stdout] test tests::verdict_distinguishes_rate_limit_allow_and_drop ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 64 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 46 tests
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vs_ota_validator-341151da5484acdf)
[INFO] [stdout] test tests::alert_counting_consistent ... ok
[INFO] [stdout] test tests::add_rule_when_full ... ok
[INFO] [stdout] test tests::allow_overrides_deny ... ok
[INFO] [stdout] test tests::case_insensitive_endpoint_matching ... ok
[INFO] [stdout] test tests::default_constructor ... ok
[INFO] [stdout] test tests::deny_default ... ok
[INFO] [stdout] test tests::default_allow ... ok
[INFO] [stdout] test tests::deny_default_blocks_empty_endpoint ... ok
[INFO] [stdout] test tests::duplicate_within_window_rejected ... ok
[INFO] [stdout] test tests::empty_pattern_rejected ... ok
[INFO] [stdout] test tests::endpoint_len_overflow_rejected ... ok
[INFO] [stdout] test tests::enforce_security_mode_on_by_default ... ok
[INFO] [stdout] test tests::global_read_only_allows_management_and_read_types ... ok
[INFO] [stdout] test tests::global_read_only_blocks_unknown_message_type ... ok
[INFO] [stdout] test tests::global_read_only_blocks_write ... ok
[INFO] [stdout] test tests::forged_forward_jump_does_not_lock_out_legit_frames ... ok
[INFO] [stdout] test tests::in_band_inherits_rate_limit_from_channel_rule ... ok
[INFO] [stdout] test tests::longest_prefix_match_with_sorted_rules ... ok
[INFO] [stdout] test tests::message_size_enforcement ... ok
[INFO] [stdout] test tests::in_window_reorder_accepted ... ok
[INFO] [stdout] test tests::message_size_zero_means_no_limit ... ok
[INFO] [stdout] test tests::min_security_uses_session_mode_for_inband_traffic ... ok
[INFO] [stdout] test tests::open_secure_channel_resets_sequence ... ok
[INFO] [stdout] test tests::osc_downgrade_rejected ... ok
[INFO] [stdout] test tests::osc_lateral_mode_allowed ... ok
[INFO] [stdout] test tests::osc_upgrade_allowed ... ok
[INFO] [stdout] test tests::oversized_endpoint_len_does_not_panic ... ok
[INFO] [stdout] test tests::read_only_permissions ... ok
[INFO] [stdout] test tests::rate_limiting ... ok
[INFO] [stdout] test tests::replay_blocks_by_default ... ok
[INFO] [stdout] test tests::replay_alert_only_when_enforce_disabled ... ok
[INFO] [stdout] test tests::replay_detected ... ok
[INFO] [stdout] test tests::reset_preserves_all_settings ... ok
[INFO] [stdout] test tests::security_mode_enforcement_alert_only_when_disabled ... ok
[INFO] [stdout] test tests::security_mode_enforcement_allows_compliant ... ok
[INFO] [stdout] test tests::security_mode_enforcement_blocks_when_enforced ... ok
[INFO] [stdout] test tests::security_mode_violation_dedup ... ok
[INFO] [stdout] test tests::sequence_forward_progress_ok ... ok
[INFO] [stdout] test tests::sequence_far_backward_rejected ... ok
[INFO] [stdout] test tests::sequence_wraparound_accepted ... ok
[INFO] [stdout] test tests::session_expiry ... ok
[INFO] [stdout] test tests::session_expiry_skips_when_none_near_timeout ... ok
[INFO] [stdout] test tests::session_eviction_many_channels ... ok
[INFO] [stdout] test tests::session_tracking ... ok
[INFO] [stdout] test tests::write_without_endpoint_inherits_channel_rule ... ok
[INFO] [stdout] test tests::session_flood_rate_limited ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 46 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 88 tests
[INFO] [stdout] test rollback::tests::hsm_counter_advance_to ... ok
[INFO] [stdout] test rollback::tests::hsm_counter_advance_to_exceeds_fuse_burn_cap ... ok
[INFO] [stdout] test rollback::tests::software_counter_advance_to ... ok
[INFO] [stdout] test rollback::tests::software_counter_advance_to_already_past ... ok
[INFO] [stdout] test rollback::tests::hsm_counter_hsm_accessor ... ok
[INFO] [stdout] test rollback::tests::hsm_counter_read_and_increment ... ok
[INFO] [stdout] test rollback::tests::software_counter_advance_to_exact ... ok
[INFO] [stdout] test rollback::tests::software_counter_advance_to_exceeds_limit ... ok
[INFO] [stdout] test rollback::tests::software_counter_advance_to_within_limit ... ok
[INFO] [stdout] test rollback::tests::software_counter_default ... ok
[INFO] [stdout] test rollback::tests::software_counter_multiple_increments ... ok
[INFO] [stdout] test rollback::tests::software_counter_starts_at_zero ... ok
[INFO] [stdout] test rollback::tests::software_counter_with_initial_value ... ok
[INFO] [stdout] test tests::cross_verify_fails_if_new_keys_reject ... ok
[INFO] [stdout] test tests::cross_verify_passes_with_both_key_sets ... ok
[INFO] [stdout] test tests::duplicate_signatures_not_double_counted ... ok
[INFO] [stdout] test tests::expired_metadata_rejected ... ok
[INFO] [stdout] test tests::hsm_ota_validator_counter_advances_to_version ... ok
[INFO] [stdout] test tests::expired_root_metadata_returns_authentication_failure ... ok
[INFO] [stdout] test rollback::tests::software_counter_increment ... ok
[INFO] [stdout] test tests::find_target_entry_found ... ok
[INFO] [stdout] test tests::find_target_entry_not_found ... ok
[INFO] [stdout] test tests::hsm_ota_validator_expired_metadata_rejected ... ok
[INFO] [stdout] test tests::hsm_ota_validator_rollback_rejected ... ok
[INFO] [stdout] test tests::hsm_ota_validator_valid_update ... ok
[INFO] [stdout] test tests::full_tuf_delegation_chain ... ok
[INFO] [stdout] test tests::hsm_validator_anchor_unchanged_when_advance_fails ... ok
[INFO] [stdout] test tests::hsm_ota_validator_threshold_zero_rejected ... ok
[INFO] [stdout] test tests::hsm_ota_validator_verify_target ... ok
[INFO] [stdout] test tests::key_type_enum_values ... ok
[INFO] [stdout] test tests::metadata_root_expires_mismatch_rejected ... ok
[INFO] [stdout] test tests::keys_for_role_falls_back_to_root ... ok
[INFO] [stdout] test rollback::tests::hsm_counter_advance_to_already_past ... ok
[INFO] [stdout] test rollback::tests::hsm_counter_with_initial_value ... ok
[INFO] [stdout] test tests::metadata_root_version_mismatch_rejected ... ok
[INFO] [stdout] test tests::metadata_version_at_u32_max_accepted ... ok
[INFO] [stdout] test tests::new_root_with_threshold_zero_rejected_in_update ... ok
[INFO] [stdout] test tests::per_role_keys_used_for_timestamp ... ok
[INFO] [stdout] test tests::multiple_sequential_updates_increment_version ... ok
[INFO] [stdout] test tests::per_role_keys_root_key_rejected_for_timestamp ... ok
[INFO] [stdout] test tests::persistent_validator_rollback_fails ... ok
[INFO] [stdout] test tests::persistent_validator_starts_at_root_version ... ok
[INFO] [stdout] test tests::persistent_validator_persists_to_storage ... ok
[INFO] [stdout] test tests::persistent_validator_update_advances_version ... ok
[INFO] [stdout] test tests::persistent_validator_threshold_zero_rejected ... ok
[INFO] [stdout] test tests::role_version_state_not_updated_when_signature_fails ... ok
[INFO] [stdout] test tests::root_metadata_with_version_u32_max ... ok
[INFO] [stdout] test tests::persistent_validator_verify_target ... ok
[INFO] [stdout] test tests::root_with_exactly_threshold_signatures_passes ... ok
[INFO] [stdout] test tests::rollback_counter_starts_at_initial_root_version ... ok
[INFO] [stdout] test tests::rollback_counter_prevents_downgrade ... ok
[INFO] [stdout] test tests::root_version_rollback_returns_policy_violation ... ok
[INFO] [stdout] test tests::root_with_all_4_keys_valid_threshold_3_passes ... ok
[INFO] [stdout] test tests::root_with_threshold_zero_returns_invalid_config ... ok
[INFO] [stdout] test tests::root_with_zero_valid_signatures_fails ... ok
[INFO] [stdout] test tests::same_version_is_also_rollback ... ok
[INFO] [stdout] test tests::target_hash_mismatch_returns_integrity_failure ... ok
[INFO] [stdout] test tests::persistent_validator_uses_stored_version_if_higher ... ok
[INFO] [stdout] test tests::snapshot_replay_with_lower_version_rejected ... ok
[INFO] [stdout] test tests::threshold_not_met_returns_authentication_failure ... ok
[INFO] [stdout] test tests::timestamp_replay_with_lower_version_rejected ... ok
[INFO] [stdout] test tests::tuf_role_enum_variants ... ok
[INFO] [stdout] test tests::tuf_key_struct_field_access ... ok
[INFO] [stdout] test tests::valid_root_update_with_threshold_signatures ... ok
[INFO] [stdout] test tests::valid_target_passes_verification ... ok
[INFO] [stdout] test tests::vehicle_manifest_struct_fields ... ok
[INFO] [stdout] test tests::vehicle_manifest_with_wrong_signature_fails ... ok
[INFO] [stdout] test tests::verify_full_update_chains_all_checks ... ok
[INFO] [stdout] test tests::verify_full_update_fails_on_bad_timestamp ... ok
[INFO] [stdout] test tests::vehicle_manifest_hash_and_verify ... ok
[INFO] [stdout] test tests::verify_snapshot_expires_mismatch_rejected ... ok
[INFO] [stdout] test tests::verify_snapshot_hash_mismatch ... ok
[INFO] [stdout] test tests::verify_snapshot_valid ... ok
[INFO] [stdout] test tests::verify_snapshot_version_mismatch ... ok
[INFO] [stdout] test tests::verify_target_from_targets_bad_hash ... ok
[INFO] [stdout] test tests::verify_target_from_targets_valid ... ok
[INFO] [stdout] test tests::verify_targets_expires_mismatch_rejected ... ok
[INFO] [stdout] test tests::verify_targets_valid ... ok
[INFO] [stdout] test tests::verify_timestamp_valid ... ok
[INFO] [stdout] test tests::verify_timestamp_version_mismatch ... ok
[INFO] [stdout] test tests::verify_vehicle_manifest_invalid_sig ... ok
[INFO] [stdout] test tests::verify_vehicle_manifest_valid ... ok
[INFO] [stdout] test tests::target_length_mismatch_returns_integrity_failure ... ok
[INFO] [stdout] test tests::target_with_empty_firmware_and_matching_hash_passes ... ok
[INFO] [stdout] test tests::target_with_very_large_expected_length_mismatch ... ok
[INFO] [stdout] test tests::targets_replay_with_lower_version_rejected ... ok
[INFO] [stdout] test tests::verify_targets_version_mismatch ... ok
[INFO] [stdout] test tests::verify_timestamp_expired ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 88 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vs_policy_engine-46b419c9a39dad32)
[INFO] [stdout] 
[INFO] [stdout] running 96 tests
[INFO] [stdout] test tests::action_matcher_any_matches_all_actions ... ok
[INFO] [stdout] test tests::action_matcher_diagnostic_request ... ok
[INFO] [stdout] test tests::action_matcher_execute ... ok
[INFO] [stdout] test tests::action_matcher_read_matches_read_not_write ... ok
[INFO] [stdout] test tests::action_matcher_write_matches_write_not_read ... ok
[INFO] [stdout] test tests::address_range_all_16_edge_cases ... ok
[INFO] [stdout] test tests::address_range_matcher ... ok
[INFO] [stdout] test tests::atomic_reload_preserves_old_rules_on_capacity_exceeded ... ok
[INFO] [stdout] test tests::atomic_reload_preserves_old_rules_on_duplicate_id ... ok
[INFO] [stdout] test tests::atomic_reload_successful_swap ... ok
[INFO] [stdout] test tests::action_matcher_transmit ... ok
[INFO] [stdout] test tests::atomic_reload_preserves_old_rules_on_duplicate_priority ... ok
[INFO] [stdout] test tests::audit_callback_receives_full_context ... ok
[INFO] [stdout] test tests::authenticated_tester_requires_session_token ... ok
[INFO] [stdout] test tests::authenticated_tester_matcher ... ok
[INFO] [stdout] test tests::atomic_reload_ten_rules_intact_after_failed_reload ... ok
[INFO] [stdout] test tests::authenticated_with_level_matches ... ok
[INFO] [stdout] test tests::bus_type_matcher ... ok
[INFO] [stdout] test tests::clear_rules_empties_engine ... ok
[INFO] [stdout] test tests::combining_deny_overrides ... ok
[INFO] [stdout] test tests::checksum_distinguishes_address_range_payload_collision ... ok
[INFO] [stdout] test tests::checksum_distinguishes_resource_matcher_payload_collisions ... ok
[INFO] [stdout] test tests::combining_deny_overrides_all_permit_returns_permit ... ok
[INFO] [stdout] test tests::combining_first_match_default ... ok
[INFO] [stdout] test tests::combining_permit_overrides ... ok
[INFO] [stdout] test tests::combining_no_match_returns_default_deny ... ok
[INFO] [stdout] test tests::combining_deny_overrides_explain ... ok
[INFO] [stdout] test tests::capacity_limit_rejects_65th_rule ... ok
[INFO] [stdout] test tests::combining_permit_overrides_all_deny_returns_deny ... ok
[INFO] [stdout] test tests::combining_permit_overrides_explain ... ok
[INFO] [stdout] test tests::default_deny_on_empty_policy_set ... ok
[INFO] [stdout] test tests::default_trait_creates_empty_engine ... ok
[INFO] [stdout] test tests::deny_audit_on_first_rule_permit_on_second_deny_audit_fires ... ok
[INFO] [stdout] test tests::deny_audit_triggers_callback ... ok
[INFO] [stdout] test tests::diagnostic_service_matcher ... ok
[INFO] [stdout] test tests::duplicate_priority_rejected ... ok
[INFO] [stdout] test tests::duplicate_rule_id_rejected ... ok
[INFO] [stdout] test tests::ecu_role_matcher ... ok
[INFO] [stdout] test tests::evaluate_all_matchers_any_first_rule_wins ... ok
[INFO] [stdout] test tests::explain_decision_default_deny_no_match ... ok
[INFO] [stdout] test tests::explain_decision_returns_matching_rule ... ok
[INFO] [stdout] test tests::explain_returns_rules_evaluated_count_correctly ... ok
[INFO] [stdout] test tests::firmware_region_matcher ... ok
[INFO] [stdout] test tests::deny_audit_triggers_callback_via_explain ... ok
[INFO] [stdout] test tests::extended_can_id_matches_specific_address ... ok
[INFO] [stdout] test tests::get_rule_found ... ok
[INFO] [stdout] test tests::firmware_region_matcher_region_0_and_region_255 ... ok
[INFO] [stdout] test tests::get_rule_not_found ... ok
[INFO] [stdout] test tests::higher_priority_deny_overrides_lower_priority_permit ... ok
[INFO] [stdout] test tests::integrity_check_128bit_different_from_zero ... ok
[INFO] [stdout] test tests::integrity_check_detects_tampering ... ok
[INFO] [stdout] test tests::integrity_check_passes_after_remove ... ok
[INFO] [stdout] test tests::integrity_check_passes_empty_engine ... ok
[INFO] [stdout] test tests::load_empty_policy_set_clears_all_rules ... ok
[INFO] [stdout] test tests::load_policy_set_rejects_duplicate_ids ... ok
[INFO] [stdout] test tests::load_policy_set_rejects_duplicate_priorities ... ok
[INFO] [stdout] test tests::load_policy_set_rejects_too_many_rules ... ok
[INFO] [stdout] test tests::load_policy_set_replaces_existing_rules ... ok
[INFO] [stdout] test tests::multiple_add_rule_then_evaluate_finds_correct_one ... ok
[INFO] [stdout] test tests::multiple_rules_same_effect_different_matchers ... ok
[INFO] [stdout] test tests::permit_priority_1_deny_priority_2_permit_wins ... ok
[INFO] [stdout] test tests::integrity_check_passes_after_add ... ok
[INFO] [stdout] test tests::permit_rule_matches_correct_triple ... ok
[INFO] [stdout] test tests::policy_engine_with_single_deny_audit_rule ... ok
[INFO] [stdout] test tests::integrity_check_passes_after_load ... ok
[INFO] [stdout] test tests::policy_engine_with_single_permit_rule ... ok
[INFO] [stdout] test tests::policy_version_increments_on_mutation ... ok
[INFO] [stdout] test tests::remove_rule_maintains_sort_order ... ok
[INFO] [stdout] test tests::remove_rule_not_found ... ok
[INFO] [stdout] test tests::remove_rule_success ... ok
[INFO] [stdout] test tests::resource_matcher_any_matches_all_resources ... ok
[INFO] [stdout] test tests::resource_matcher_bus_id_wrong_bus_type_no_match ... ok
[INFO] [stdout] test tests::rule_count_tracks_additions ... ok
[INFO] [stdout] test tests::rule_with_priority_0_highest ... ok
[INFO] [stdout] test tests::rule_with_priority_255_lowest ... ok
[INFO] [stdout] test tests::rules_returns_loaded_rules ... ok
[INFO] [stdout] test tests::rules_sorted_by_priority_regardless_of_insertion_order ... ok
[INFO] [stdout] test tests::resource_matcher_bus_id_wrong_id_no_match ... ok
[INFO] [stdout] test tests::service_range_matcher ... ok
[INFO] [stdout] test tests::explain_decision_with_64_rules_evaluates_all ... ok
[INFO] [stdout] test tests::deny_audit_callback_does_not_fire_when_permit_wins_under_permit_overrides ... ok
[INFO] [stdout] test tests::rule_count_returns_0_after_clear_via_load ... ok
[INFO] [stdout] test tests::deny_audit_callback_still_fires_when_deny_wins_under_permit_overrides ... ok
[INFO] [stdout] test tests::specific_address_matcher ... ok
[INFO] [stdout] test tests::subject_matcher_with_address_0 ... ok
[INFO] [stdout] test tests::subject_matcher_any_matches_all_subjects ... ok
[INFO] [stdout] test tests::subject_matcher_with_max_address_0xffff ... ok
[INFO] [stdout] test tests::policy_engine_with_single_deny_rule ... ok
[INFO] [stdout] test tests::time_constraint_valid_until ... ok
[INFO] [stdout] test tests::time_constraint_valid_from ... ok
[INFO] [stdout] test tests::time_constraint_within_window ... ok
[INFO] [stdout] test tests::update_rule_id_mismatch ... ok
[INFO] [stdout] test tests::update_rule_not_found ... ok
[INFO] [stdout] test tests::time_constraint_zero_means_no_constraint ... ok
[INFO] [stdout] test tests::update_rule_priority_conflict ... ok
[INFO] [stdout] test tests::update_rule_success ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 96 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vs_profinet_monitor-ed42c050e42c2142)
[INFO] [stdout] 
[INFO] [stdout] running 62 tests
[INFO] [stdout] test tests::acyclic_frame_passes ... ok
[INFO] [stdout] test tests::add_frame_range_invalid ... ok
[INFO] [stdout] test tests::alarm_counter_does_not_drift_after_window_expiry ... ok
[INFO] [stdout] test tests::add_frame_rule_when_full ... ok
[INFO] [stdout] test tests::alarm_flood_detected ... ok
[INFO] [stdout] test tests::alert_counting_consistency ... ok
[INFO] [stdout] test tests::alarm_window_overflow ... ok
[INFO] [stdout] test tests::alert_id_starts_at_one ... ok
[INFO] [stdout] test tests::alert_ids_across_multiple_alerts_in_single_inspect ... ok
[INFO] [stdout] test tests::alert_ids_unique_and_incrementing ... ok
[INFO] [stdout] test tests::block_specific_frame_id ... ok
[INFO] [stdout] test tests::cycle_counter_wrapping ... ok
[INFO] [stdout] test tests::cyclic_conn_eviction_when_full ... ok
[INFO] [stdout] test tests::allowed_frame_id ... ok
[INFO] [stdout] test tests::dcp_allowed_when_enabled ... ok
[INFO] [stdout] test tests::circular_buffer_overwrites_oldest ... ok
[INFO] [stdout] test tests::data_valid_bit ... ok
[INFO] [stdout] test tests::dcp_blocked_by_default ... ok
[INFO] [stdout] test tests::default_constructor ... ok
[INFO] [stdout] test tests::frame_id_range ... ok
[INFO] [stdout] test tests::missed_cycles_alert ... ok
[INFO] [stdout] test tests::cycle_counter_zero_not_special_cased ... ok
[INFO] [stdout] test tests::multiple_cyclic_connections ... ok
[INFO] [stdout] test tests::first_cycle_no_validation ... ok
[INFO] [stdout] test tests::payload_len_overflow_rejected ... ok
[INFO] [stdout] test tests::provider_start_no_alert ... ok
[INFO] [stdout] test tests::provider_already_stopped_no_alert ... ok
[INFO] [stdout] test tests::provider_stop_alert ... ok
[INFO] [stdout] test tests::rate_limit_does_not_collide_on_low_byte ... ok
[INFO] [stdout] test tests::rate_limiting_blocks_excess ... ok
[INFO] [stdout] test tests::rate_limiting_recovers_after_refill ... ok
[INFO] [stdout] test tests::reset_clears_state ... ok
[INFO] [stdout] test tests::sequential_cycles_ok ... ok
[INFO] [stdout] test tests::stats_tracking ... ok
[INFO] [stdout] test tests::circular_buffer_flood_detection_after_overflow ... ok
[INFO] [stdout] test tests::strict_mode_blocks_unknown ... ok
[INFO] [stdout] test tests::alarm_below_threshold_no_alert ... ok
[INFO] [stdout] test tests::vuln04_alarm_flood_alert_is_high_severity ... ok
[INFO] [stdout] test tests::vuln04_alarm_flood_blocks_frame ... ok
[INFO] [stdout] test tests::vuln05_forward_skip_still_alerts_as_medium ... ok
[INFO] [stdout] test tests::vuln05_cycle_counter_backward_jump_blocked_and_alerted ... ok
[INFO] [stdout] test tests::vuln05_cycle_counter_duplicate_blocked_and_alerted ... ok
[INFO] [stdout] test tests::vuln05_forward_wraparound_is_not_a_replay ... ok
[INFO] [stdout] test tests::vuln06_alert_payload_includes_service_id ... ok
[INFO] [stdout] test tests::vuln05_state_not_poisoned_by_replay ... ok
[INFO] [stdout] test tests::vuln06_allow_all_permits_every_service ... ok
[INFO] [stdout] test tests::vuln06_commissioning_blocks_unknown_service ... ok
[INFO] [stdout] test tests::vuln06_deny_all_blocks_every_service ... ok
[INFO] [stdout] test tests::vuln06_set_block_dcp_compat_still_works ... ok
[INFO] [stdout] test tests::vuln07_irt_in_window_allowed ... ok
[INFO] [stdout] test tests::vuln07_irt_rule_validation_rejects_degenerate ... ok
[INFO] [stdout] test tests::vuln07_irt_table_full ... ok
[INFO] [stdout] test tests::vuln07_irt_too_fast_blocked ... ok
[INFO] [stdout] test tests::vuln07_irt_too_slow_blocked ... ok
[INFO] [stdout] test tests::vuln07_no_irt_rule_means_no_timing_check ... ok
[INFO] [stdout] test tests::vuln08_active_bucket_keeps_working_when_table_full ... ok
[INFO] [stdout] test tests::vuln08_cycling_frame_ids_cannot_reset_exhausted_bucket ... ok
[INFO] [stdout] test tests::vuln09_readme_usage_example_compiles ... ok
[INFO] [stdout] test tests::vuln08_rate_bucket_table_full_denies_new_frame_id ... ok
[INFO] [stdout] test tests::vuln07_irt_violation_does_not_poison_baseline ... ok
[INFO] [stdout] test tests::vuln06_commissioning_allows_identify_but_blocks_set ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vs_report_iec62304-fd433ac4eb22ec3f)
[INFO] [stdout] test tests::vuln06_commissioning_allows_hello_and_get ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 62 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 61 tests
[INFO] [stdout] test classification::tests::lifecycle_canonical_chain_legal_forward_moves ... ok
[INFO] [stdout] test classification::tests::lifecycle_legacy_aliases_map_to_canonical ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vs_report_iec62443-ea97bcb7a1a82c0a)
[INFO] [stdout] test classification::tests::lifecycle_maintenance_loopback_to_requirements_legal ... ok
[INFO] [stdout] test classification::tests::lifecycle_phase_equality ... ok
[INFO] [stdout] test classification::tests::lifecycle_phase_jumps_rejected ... ok
[INFO] [stdout] test classification::tests::lifecycle_process_capacity_exceeded ... ok
[INFO] [stdout] test classification::tests::lifecycle_process_full_canonical_walk ... ok
[INFO] [stdout] test classification::tests::lifecycle_process_legal_transition ... ok
[INFO] [stdout] test classification::tests::lifecycle_process_rejects_illegal_jump ... ok
[INFO] [stdout] test classification::tests::lifecycle_process_start_and_query ... ok
[INFO] [stdout] test classification::tests::requirement_category_variants_exist ... ok
[INFO] [stdout] test classification::tests::lifecycle_process_unknown_module ... ok
[INFO] [stdout] test classification::tests::lifecycle_same_phase_tick_legal ... ok
[INFO] [stdout] test classification::tests::requires_detailed_design ... ok
[INFO] [stdout] test classification::tests::requires_integration_testing ... ok
[INFO] [stdout] test classification::tests::requires_static_analysis ... ok
[INFO] [stdout] test classification::tests::requires_traceability ... ok
[INFO] [stdout] test classification::tests::safety_class_labels ... ok
[INFO] [stdout] test classification::tests::requires_unit_testing ... ok
[INFO] [stdout] test classification::tests::safety_class_ordering ... ok
[INFO] [stdout] test tests::all_tests_passing_flag ... ok
[INFO] [stdout] test classification::tests::verification_method_labels ... ok
[INFO] [stdout] test tests::class_a_no_tests_no_gap ... ok
[INFO] [stdout] test tests::class_c_missing_static_analysis_gap ... ok
[INFO] [stdout] test tests::craton_shield_catalog_correctness ... ok
[INFO] [stdout] test tests::dangling_test_requirement_id_is_rejected ... ok
[INFO] [stdout] test tests::empty_input_produces_empty_report ... ok
[INFO] [stdout] test tests::failing_only_test_yields_not_covered ... ok
[INFO] [stdout] test tests::invalid_module_reference ... ok
[INFO] [stdout] test tests::is_compliant_false_with_gaps ... ok
[INFO] [stdout] test tests::mixed_coverage_percentages ... ok
[INFO] [stdout] test tests::module_count_exceeds_max ... ok
[INFO] [stdout] test tests::single_fully_covered_requirement ... ok
[INFO] [stdout] test tests::no_tests_class_b_produces_gaps ... ok
[INFO] [stdout] test tests::safety_class_method_requirements ... ok
[INFO] [stdout] test tests::test_class_c_full_traceability ... ok
[INFO] [stdout] test tests::test_coverage_percent_0 ... ok
[INFO] [stdout] test tests::test_coverage_percent_100 ... ok
[INFO] [stdout] test tests::test_coverage_percent_partial ... ok
[INFO] [stdout] test tests::test_class_b_missing_integration_gap ... ok
[INFO] [stdout] test tests::test_lifecycle_phases_distinct ... ok
[INFO] [stdout] test tests::test_multiple_modules_mixed_classes ... ok
[INFO] [stdout] test tests::test_max_traces_per_req_limit ... ok
[INFO] [stdout] test tests::test_requirement_count_exceeds_max ... ok
[INFO] [stdout] test tests::test_test_case_count_exceeds_max ... ok
[INFO] [stdout] test tests::test_requirement_categories_distinct ... ok
[INFO] [stdout] test tests::test_verification_methods_integration ... ok
[INFO] [stdout] test tests::trace_link_test_id_count ... ok
[INFO] [stdout] test tests::test_verification_methods_static_analysis ... ok
[INFO] [stdout] test tests::v09_code_review_gates_static_analysis_for_class_c ... ok
[INFO] [stdout] test tests::v09_entries_no_ghost_rows ... ok
[INFO] [stdout] test tests::v09_cargo_description_has_disclaimer ... ok
[INFO] [stdout] test tests::v09_formal_verification_covers_all_for_class_c ... ok
[INFO] [stdout] test tests::v09_evidence_envelope_metadata ... ok
[INFO] [stdout] test tests::test_is_input_valid_size ... ok
[INFO] [stdout] test tests::v09_gaps_truncated_flag_set ... ok
[INFO] [stdout] test tests::v09_system_test_gates_integration_for_class_b ... ok
[INFO] [stdout] test tests::v09_module_version_from_cargo_pkg_version ... ok
[INFO] [stdout] test tests::v09_traces_truncated_flag_set ... ok
[INFO] [stdout] test tests::v09_system_test_failed_does_not_gate ... ok
[INFO] [stdout] test tests::v09_gaps_no_ghost_rows ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 61 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 57 tests
[INFO] [stdout] test requirements::tests::component_requirement_fr_mapping ... ok
[INFO] [stdout] test requirements::tests::compliance_status_variants ... ok
[INFO] [stdout] test requirements::tests::all_requirements_has_40_elements ... ok
[INFO] [stdout] test requirements::tests::foundational_requirement_labels ... ok
[INFO] [stdout] test requirements::tests::component_requirement_labels ... ok
[INFO] [stdout] test requirements::tests::min_sl_sl3_requirements ... ok
[INFO] [stdout] test requirements::tests::requirement_assessment_construction ... ok
[INFO] [stdout] test requirements::tests::security_level_display ... ok
[INFO] [stdout] test tests::achieved_sl_clamped_to_target_when_caps_exceed_target ... ok
[INFO] [stdout] test requirements::tests::security_level_ordering ... ok
[INFO] [stdout] test tests::assess_returns_error_on_invalid_capabilities ... ok
[INFO] [stdout] test tests::achieved_sl_never_exceeds_target_even_at_lowest_target ... ok
[INFO] [stdout] test requirements::tests::security_level_labels ... ok
[INFO] [stdout] test tests::assess_returns_evidence_envelope_with_schema_version ... ok
[INFO] [stdout] test tests::assess_with_metadata_propagates_caller_metadata ... ok
[INFO] [stdout] test tests::audit_capacity_thresholds ... ok
[INFO] [stdout] test tests::cr1_11_returns_zero_when_user_authentication_disabled ... ok
[INFO] [stdout] test tests::cr1_5_sl4_requires_password_and_crypto_strength_even_with_pki ... ok
[INFO] [stdout] test tests::cr1_7_returns_zero_when_user_authentication_disabled ... ok
[INFO] [stdout] test tests::gap_accessors_work_correctly ... ok
[INFO] [stdout] test tests::default_capabilities_all_non_compliant_at_sl1 ... ok
[INFO] [stdout] test tests::full_capabilities_compliant_at_sl1 ... ok
[INFO] [stdout] test tests::crypto_key_length_thresholds ... ok
[INFO] [stdout] test tests::default_capabilities_all_disabled_assess_succeeds ... ok
[INFO] [stdout] test tests::not_applicable_for_crs_above_target_sl ... ok
[INFO] [stdout] test tests::mixed_capabilities_partial_compliance ... ok
[INFO] [stdout] test tests::is_compliant_returns_correct_values ... ok
[INFO] [stdout] test tests::overall_achieved_sl_is_minimum ... ok
[INFO] [stdout] test tests::password_length_thresholds ... ok
[INFO] [stdout] test tests::sl4_target_with_sl2_capabilities ... ok
[INFO] [stdout] test tests::test_all_requirements_assessed ... ok
[INFO] [stdout] test tests::test_concurrent_session_thresholds ... ok
[INFO] [stdout] test requirements::tests::min_sl_default_is_sl1 ... ok
[INFO] [stdout] test tests::test_compliance_status_display ... ok
[INFO] [stdout] test requirements::tests::min_sl_sl2_requirements ... ok
[INFO] [stdout] test tests::test_fr_labels ... ok
[INFO] [stdout] test tests::test_is_input_valid_size ... ok
[INFO] [stdout] test tests::test_login_attempt_thresholds ... ok
[INFO] [stdout] test tests::test_partially_compliant_status ... ok
[INFO] [stdout] test tests::test_session_timeout_thresholds ... ok
[INFO] [stdout] test tests::test_sl2_only_caps_partial_at_sl3 ... ok
[INFO] [stdout] test tests::test_sl2_target_all_compliant ... ok
[INFO] [stdout] test tests::validate_accepts_valid_capabilities ... ok
[INFO] [stdout] test tests::test_sl3_target_all_compliant ... ok
[INFO] [stdout] test tests::test_sl4_target_all_compliant ... ok
[INFO] [stdout] test tests::validate_edge_zero_concurrent_sessions_with_lock_enabled ... ok
[INFO] [stdout] test tests::validate_edge_zero_session_timeout_with_lock_enabled ... ok
[INFO] [stdout] test tests::validate_rejects_excessive_password_length ... ok
[INFO] [stdout] test tests::validate_rejects_excessive_crypto_key ... ok
[INFO] [stdout] test tests::validate_rejects_zero_concurrent_sessions ... ok
[INFO] [stdout] test tests::validate_edge_zero_crypto_key_length_with_crypto_enabled ... ok
[INFO] [stdout] test tests::validate_rejects_zero_crypto_key_when_crypto_enabled ... ok
[INFO] [stdout] test tests::security_level_labels ... ok
[INFO] [stdout] test tests::test_cr_min_sl_consistency ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vs_report_iso21434-ab6f3074538fba8e)
[INFO] [stdout] test tests::entries_excludes_ghost_rows_past_count ... ok
[INFO] [stdout] test tests::validate_rejects_zero_failed_login_attempts ... ok
[INFO] [stdout] test tests::validate_rejects_zero_session_timeout ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 57 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 42 tests
[INFO] [stdout] test risk::tests::risk_matrix_exhaustive_all_combinations_valid ... ok
[INFO] [stdout] test tests::catalog_remap_produces_assessments ... ok
[INFO] [stdout] test tests::catalog_remap_short_slice_rejected ... ok
[INFO] [stdout] test tests::catalog_remap_zero_skips_entry ... ok
[INFO] [stdout] test tests::asset_carries_cia_class ... ok
[INFO] [stdout] test tests::cvss_fields_present_in_catalog_entries ... ok
[INFO] [stdout] test tests::damage_scenario_max_impact_picks_worst ... ok
[INFO] [stdout] test tests::empty_input_produces_empty_report ... ok
[INFO] [stdout] test tests::find_mitigation_lookup_independent_of_order ... ok
[INFO] [stdout] test tests::full_automotive_catalog_assessment ... ok
[INFO] [stdout] test tests::generate_tara_evidence_wraps_report ... ok
[INFO] [stdout] test tests::has_residual_risk_with_unmitigated_high ... ok
[INFO] [stdout] test tests::highest_risk_returns_correct_maximum ... ok
[INFO] [stdout] test tests::mitigation_sets_treatment_to_reduce ... ok
[INFO] [stdout] test tests::risk_matrix_all_16_combinations ... ok
[INFO] [stdout] test tests::single_threat_severe_veryhigh_is_critical ... ok
[INFO] [stdout] test tests::single_threat_negligible_impact_is_low ... ok
[INFO] [stdout] test tests::stride_category_labels ... ok
[INFO] [stdout] test tests::invalid_input_threat_count_exceeds_max ... ok
[INFO] [stdout] test tests::test_asset_count_exceeds_max ... ok
[INFO] [stdout] test tests::test_asset_id_zero_rejected ... ok
[INFO] [stdout] test tests::test_attack_vectors_distinct ... ok
[INFO] [stdout] test tests::test_damage_count_exceeds_max ... ok
[INFO] [stdout] test tests::test_is_input_valid_size ... ok
[INFO] [stdout] test tests::test_max_impact_all_categories ... ok
[INFO] [stdout] test tests::test_treatment_decisions_distinct ... ok
[INFO] [stdout] test tests::test_mitigated_high_no_residual_risk ... ok
[INFO] [stdout] test tests::test_multiple_threats_mixed_risk ... ok
[INFO] [stdout] test tests::unmitigated_critical_increases_residual_risk ... ok
[INFO] [stdout] test threats::tests::all_stride_categories_represented ... ok
[INFO] [stdout] test threats::tests::catalog_has_20_entries ... ok
[INFO] [stdout] test threats::tests::attack_feasibility_ordering ... ok
[INFO] [stdout] test threats::tests::attack_vector_ordering ... ok
[INFO] [stdout] test threats::tests::catalog_ids_are_1_through_20_and_unique ... ok
[INFO] [stdout] test tests::test_highest_risk_empty_report ... ok
[INFO] [stdout] test tests::missing_damage_scenario_returns_error ... ok
[INFO] [stdout] test threats::tests::cvss_enums_are_ordered_low_to_high ... ok
[INFO] [stdout] test threats::tests::stride_category_labels ... ok
[INFO] [stdout] test tests::mitigation_keyed_by_threat_id_not_position ... ok
[INFO] [stdout] test threats::tests::cvss_fields_populated_for_all_catalog_entries ... ok
[INFO] [stdout] test threats::tests::threat_scenario_descriptions_not_empty ... ok
[INFO] [stdout] test tests::test_asset_id_nonzero_accepted ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vs_runtime-62a0d042221a2b77)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 42 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 39 tests
[INFO] [stdout] test tests::configure_ota_rejects_zero_threshold ... ok
[INFO] [stdout] test tests::boot_not_verified_after_init ... ok
[INFO] [stdout] test tests::always_fail_closed_policy_denies_when_no_rules ... ok
[INFO] [stdout] test tests::alert_pipeline_end_to_end ... ok
[INFO] [stdout] test tests::capacity_check_runs_on_tick ... ok
[INFO] [stdout] test tests::firewall_accessible ... ok
[INFO] [stdout] test tests::eth_packets_denied_without_rules ... ok
[INFO] [stdout] test tests::anomaly_detector_accessible ... ok
[INFO] [stdout] test tests::configure_ota_rejects_no_keys ... ok
[INFO] [stdout] test tests::install_firewall_rule_marks_configured ... ok
[INFO] [stdout] test tests::firewall_fail_closed_persists_after_dynamic_rule_expiry ... ok
[INFO] [stdout] test tests::health_status_reflects_correct_subsystem_count ... ok
[INFO] [stdout] test tests::health_status_after_init ... ok
[INFO] [stdout] test tests::install_firewall_rule_failure_does_not_mark_configured ... ok
[INFO] [stdout] test tests::ids_log_response_does_not_alter_health ... ok
[INFO] [stdout] test tests::ota_validator_none_before_configure ... ok
[INFO] [stdout] test tests::ids_block_callback_invoked ... ok
[INFO] [stdout] test tests::platform_init_completes_successfully ... ok
[INFO] [stdout] test tests::multiple_alerts_increase_sequence ... ok
[INFO] [stdout] test tests::integrity_monitor_accessible ... ok
[INFO] [stdout] test tests::key_manager_accessible ... ok
[INFO] [stdout] test tests::multiple_ticks_advance_counter_monotonically ... ok
[INFO] [stdout] test tests::new_constructor_creates_all_subsystems ... ok
[INFO] [stdout] test tests::policy_engine_accessible ... ok
[INFO] [stdout] test tests::shutdown_calls_keym_finalize ... ok
[INFO] [stdout] test tests::route_alert_assigns_nonzero_monotonic_ids ... ok
[INFO] [stdout] test tests::shutdown_marks_all_not_initialized ... ok
[INFO] [stdout] test tests::submit_eth_packet_fails_after_shutdown ... ok
[INFO] [stdout] test tests::submit_can_frame_denied_when_no_rules ... ok
[INFO] [stdout] test tests::tick_fails_after_shutdown ... ok
[INFO] [stdout] test tests::submit_eth_packet_denied_when_no_rules ... ok
[INFO] [stdout] test tests::submit_can_frame_fails_after_shutdown ... ok
[INFO] [stdout] test tests::tick_increments_counter ... ok
[INFO] [stdout] test tests::tick_rejects_backwards_timestamp ... ok
[INFO] [stdout] test tests::write_usize_decimal_works ... ok
[INFO] [stdout] test tests::watchdog_fires_after_timeout ... ok
[INFO] [stdout] test tests::watchdog_action_configurable ... ok
[INFO] [stderr]      Running tests/fault_injection.rs (/opt/rustwide/target/debug/deps/fault_injection-d86250c0d1a8f0eb)
[INFO] [stdout] test tests::watchdog_returns_none_within_timeout ... ok
[INFO] [stdout] test tests::watchdog_fire_generates_log_event ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 39 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 22 tests
[INFO] [stdout] test can_fd_with_classic_dlc ... ok
[INFO] [stdout] test can_monitor_maximum_id_values ... ok
[INFO] [stdout] test crypto_detects_corrupted_ciphertext ... ok
[INFO] [stdout] test can_monitor_dlc_beyond_valid_range ... ok
[INFO] [stdout] test crypto_detects_corrupted_tag ... ok
[INFO] [stdout] test crypto_nonce_boundary_validation ... ok
[INFO] [stdout] test crypto_nonce_counter_saturation ... ok
[INFO] [stdout] test eth_monitor_max_vlan_id ... ok
[INFO] [stdout] test eth_monitor_single_byte_payload ... ok
[INFO] [stdout] test firewall_max_priority_values ... ok
[INFO] [stdout] test event_logger_zero_timestamp ... ok
[INFO] [stdout] test integrity_monitor_detects_single_bit_flip ... ok
[INFO] [stdout] test event_logger_max_timestamp ... ok
[INFO] [stdout] test integrity_monitor_empty_region ... ok
[INFO] [stdout] test eth_monitor_empty_payload ... ok
[INFO] [stdout] test crypto_nonce_counter_does_not_repeat ... ok
[INFO] [stdout] test ota_validator_zero_threshold ... ok
[INFO] [stdout] test key_manager_rejects_repeating_pattern_key ... ok
[INFO] [stdout] test key_manager_rejects_short_key_material ... ok
[INFO] [stdout] test platform_operations_after_shutdown_return_error ... ok
[INFO] [stdout] test event_logger_rapid_overflow ... ok
[INFO] [stdout] test platform_rapid_init_shutdown_cycling ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 22 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-36864727ead6385b)
[INFO] [stdout] running 17 tests
[INFO] [stdout] test test_double_shutdown_does_not_panic ... ok
[INFO] [stdout] test test_can_frame_denied_without_rules ... ok
[INFO] [stdout] test test_eth_packet_denied_without_rules ... ok
[INFO] [stdout] test test_health_stable_after_sustained_ticks ... ok
[INFO] [stdout] test test_runtime_initialization_and_can_alert_routing ... ok
[INFO] [stdout] test test_boot_not_verified_after_init ... ok
[INFO] [stdout] test test_subsystem_accessors_available ... ok
[INFO] [stdout] test test_shutdown_marks_all_not_initialized ... ok
[INFO] [stdout] test test_runtime_tick_and_watchdog ... ok
[INFO] [stdout] test test_submit_eth_packet_after_shutdown_returns_not_initialized ... ok
[INFO] [stdout] test test_mixed_can_and_eth_traffic_denied_without_rules ... ok
[INFO] [stdout] test test_tick_rejects_backwards_timestamp ... ok
[INFO] [stdout] test test_ota_not_available_until_configured ... ok
[INFO] [stdout] test test_reinit_after_shutdown ... ok
[INFO] [stdout] test test_submit_can_frame_after_shutdown_returns_not_initialized ... ok
[INFO] [stdout] test test_tick_after_shutdown_returns_not_initialized ... ok
[INFO] [stdout] test test_tick_advances_counter ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vs_runtime_auto-a0cca7857ccd46c4)
[INFO] [stdout] 
[INFO] [stdout] running 25 tests
[INFO] [stdout] test tests::automotive_flexray_frame_invalid_slot_too_large ... ok
[INFO] [stdout] test tests::automotive_flexray_frame_invalid_slot_zero ... ok
[INFO] [stdout] test tests::automotive_flexray_frame_oversized_payload ... ok
[INFO] [stdout] test tests::automotive_can_frame_submission ... ok
[INFO] [stdout] test tests::automotive_health_all_ready ... ok
[INFO] [stdout] test tests::automotive_doip_invalid_header_generates_alert ... ok
[INFO] [stdout] test tests::automotive_flexray_frame_empty_payload ... ok
[INFO] [stdout] test tests::automotive_flexray_frame_valid ... ok
[INFO] [stdout] test tests::automotive_init_succeeds ... ok
[INFO] [stdout] test tests::automotive_ota_manifest_mismatch_generates_alert ... ok
[INFO] [stdout] test tests::automotive_eth_packet_submission ... ok
[INFO] [stdout] test tests::automotive_lin_frame_empty_payload_generates_alert ... ok
[INFO] [stdout] test tests::automotive_new_constructor ... ok
[INFO] [stdout] test tests::automotive_lin_frame_valid ... ok
[INFO] [stdout] test tests::automotive_lin_frame_invalid_id ... ok
[INFO] [stdout] test tests::automotive_ota_signed_with_accepting_verifier ... ok
[INFO] [stdout] test tests::automotive_ota_signed_with_rejecting_verifier_generates_alert ... ok
[INFO] [stdout] test tests::automotive_ota_manifest_valid ... ok
[INFO] [stdout] test tests::automotive_tick_increments_counter ... ok
[INFO] [stdout] test tests::automotive_ota_signed_without_verifier_fails_closed ... ok
[INFO] [stdout] test tests::automotive_lin_frame_oversized_payload ... ok
[INFO] [stdout] test tests::automotive_shutdown_marks_all_not_initialized ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vs_runtime_embedded-aa80026483c376d3)
[INFO] [stdout] test tests::automotive_try_new_constructor ... ok
[INFO] [stdout] test tests::automotive_subsystem_accessors ... ok
[INFO] [stdout] test tests::automotive_watchdog ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 48 tests
[INFO] [stdout] test tests::check_coap_amplification_zero_timestamp ... ok
[INFO] [stdout] test tests::callback_throttle_sliding_window ... ok
[INFO] [stdout] test tests::config_audit_log_multiple_entries ... ok
[INFO] [stdout] test tests::alert_callback_not_invoked_on_allowed_event ... ok
[INFO] [stdout] test tests::alert_callback_receives_alerts ... ok
[INFO] [stdout] test tests::accessor_methods_all_protocols ... ok
[INFO] [stdout] test tests::check_coap_amplification_after_shutdown ... ok
[INFO] [stdout] test tests::config_audit_log_records_changes ... ok
[INFO] [stdout] test tests::embedded_coap_amplification ... ok
[INFO] [stdout] test tests::drain_recent_alerts_clears_buffer ... ok
[INFO] [stdout] test tests::compute_health_no_overflow ... ok
[INFO] [stdout] test tests::drain_recent_alerts_preserves_throttle ... ok
[INFO] [stdout] test tests::embedded_accessor_methods ... ok
[INFO] [stdout] test tests::embedded_coap_amplification_with_token ... ok
[INFO] [stdout] test tests::embedded_mqtt_blocked_routes_alert ... ok
[INFO] [stdout] test tests::embedded_coap_integration ... ok
[INFO] [stdout] test tests::embedded_ble_integration ... ok
[INFO] [stdout] test tests::embedded_ble_blocked_event_routes_alert ... ok
[INFO] [stdout] test tests::embedded_health_all_ready ... ok
[INFO] [stdout] test tests::embedded_init_succeeds ... ok
[INFO] [stdout] test tests::embedded_shutdown ... ok
[INFO] [stdout] test tests::embedded_event_log_count ... ok
[INFO] [stdout] test tests::embedded_mqtt_integration ... ok
[INFO] [stdout] test tests::embedded_submit_can_frame ... ok
[INFO] [stdout] test tests::embedded_submit_eth_packet ... ok
[INFO] [stdout] test tests::embedded_try_new_constructor ... ok
[INFO] [stdout] test tests::embedded_watchdog ... ok
[INFO] [stdout] test tests::monitor_health_stays_ready_below_threshold ... ok
[INFO] [stdout] test tests::embedded_tick ... ok
[INFO] [stdout] test tests::recent_alerts_stores_alerts ... ok
[INFO] [stdout] test tests::recent_alerts_ring_buffer_wraps ... ok
[INFO] [stdout] test tests::shutdown_blocks_all_protocols ... ok
[INFO] [stdout] test tests::monitor_health_degrades_on_high_alert_rate ... ok
[INFO] [stdout] test tests::submit_modbus_rtu_with_rules ... ok
[INFO] [stdout] test tests::shutdown_clears_all_monitor_stats ... ok
[INFO] [stdout] test tests::submit_lora_with_rules ... ok
[INFO] [stdout] test tests::shutdown_health_all_not_initialized ... ok
[INFO] [stdout] test tests::shutdown_resets_monitor_state ... ok
[INFO] [stdout] test tests::reinit_after_shutdown ... ok
[INFO] [stdout] test tests::submit_modbus_tcp_zero_timestamp_blocked ... ok
[INFO] [stdout] test tests::submit_coap_blocked_uri ... ok
[INFO] [stdout] test tests::submit_modbus_tcp_with_rules ... ok
[INFO] [stdout] test tests::test_crypto_verify_p256_accepts_nonzero_signature ... ok
[INFO] [stdout] test tests::test_crypto_verify_p256_rejects_zero_signature ... ok
[INFO] [stdout] test tests::submit_returns_blocked_after_shutdown ... ok
[INFO] [stdout] test tests::submit_returns_blocked_on_zero_timestamp ... ok
[INFO] [stdout] test tests::submit_zigbee_with_rules ... ok
[INFO] [stdout] test tests::tick_updates_monitor_health ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 48 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vs_runtime_ind-dff71dfb92aa4287)
[INFO] [stdout] 
[INFO] [stdout] running 89 tests
[INFO] [stderr] 
[INFO] [stderr] thread 'tests::any_degraded_initially_false' (2495) has overflowed its stack
[INFO] [stderr] fatal runtime error: stack overflow, aborting
[INFO] [stderr] error: test failed, to rerun pass `-p vs-runtime-ind --lib`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/target/debug/deps/vs_runtime_ind-dff71dfb92aa4287` (signal: 6, SIGABRT: process abort signal)
[INFO] running `Command { std: "docker" "inspect" "f3c13b4904e9987e401ea17aaeae089a22c235bbec70886655a7719deea7577f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f3c13b4904e9987e401ea17aaeae089a22c235bbec70886655a7719deea7577f", kill_on_drop: false }`
[INFO] [stdout] f3c13b4904e9987e401ea17aaeae089a22c235bbec70886655a7719deea7577f
